У меня какая-то ошибка в python, проблема в ключевой ошибке

def get_sent_score(TFISF_scores, text_sents, doc_info):
    """
    This function prints out the summary and return the score of arch sentence in a list.

    the score of a sentence is calculated by adding the TFIDF scores of the words that make up sentence.
    """
    sentence_info=[]
    for doc in doc_info:
        """
        This loops through each document (sentence) and calculate their 'sent_score'
        """
        sent_score=0
        for i in range (0, len(TFISF_scores)):
            temp_dict = TFISF_scores[i]
            if doc ['doc_id']==temp_dict['doc_id']:
                sent_score += temp_dict['TFISF_score']
                temp = {'doc_id':doc['doc_id'],
                      'sent_score':sent_score,
                      'sentence':text_sents[doc['doc_id']-1]}
                sentence_info.append(temp)
    return sentence_info
sentence_info = get_sent_score(TFISF_scores, text_sents, doc_info)
print(sentence_info)

Copy comment: the error message is

sent_score += temp_dict['TFISF_score'] KeyError: 'TFISF_score' 

Пожалуйста, будьте более конкретными, поделившись сообщением об ошибке.

taurus05 01.02.2019 06:51

Добро пожаловать в StackOverflow. Пожалуйста, опишите вашу проблему, а также ваш вклад и ожидаемый результат. Чтение Как спросить и создать минимальный, полный и проверяемый пример может стать отличной отправной точкой.

Chris 01.02.2019 06:52

Ошибка ключа возникает, когда в словаре нет указанного ключа и если вы пытаетесь получить к нему доступ. У вас есть несколько словарей здесь. Нелегко решить, увидев код. Пожалуйста, опубликуйте ошибку.

rmn.nish 01.02.2019 06:53

сообщение об ошибке send_score += temp_dict['TFISF_score'] KeyError: 'TFISF_score'

isabelle 01.02.2019 11:20

Очевидно, что вызывающий нарушение ключ не существует в соответствующем словаре. Мы не можем сказать вам, почему его не существует; это зависит от всей остальной логики в вашем коде.

9769953 01.02.2019 11:28

@isabelle: в 'TFISF_score' есть ключ нетtemp_dict. Сделайте print(temp_dict.keys()), чтобы увидеть все ключи.

stovfl 01.02.2019 11:28

Было бы неплохо отладить код с помощью набора функций печати, в том числе, например. печать всех ключей словаря: print(list(temp_dict.keys())) непосредственно перед тем, как это должна сделать строка-нарушитель.

9769953 01.02.2019 11:30

хорошо, большое спасибо за все ответы. я отремонтировал его. также есть кое-что, что я хочу спросить снова. вы все передаете некоторые данные с плавающей запятой в другую функцию в python?

isabelle 01.02.2019 14:55
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
8
116
0

Другие вопросы по теме