Я пытаюсь пересоздать простую функцию, которая запрашивает словарь в качестве входных данных.Независимо от того, что я пытаюсь, я не могу найти минимальный рабочий пример словаря, чтобы пройти через эту функцию.Я читал словари, и у меня не так много возможностей для их создания по-другому, поэтому я не знаю, в чем проблема.
Я пытался применить следующие минимальные примеры словарей:
import nltk
#Different dictionaries to try as minimum working examples:
comments1 = {1 : 'Rockies', 2: 'Red Sox'}
comments2 = {'key1' : 'Rockies', 'key2': 'Red Sox'}
comments3 = dict([(1, 3), (2, 3)])
#Function:
def tokenize_body(comments):
tokens = {}
for idx, com_id in enumerate(comments):
body = comments[com_id]['body']
tokenized = [x.lower() for x in nltk.word_tokenize(body)]
tokens[com_id] = tokenized
return tokens
tokens = tokenize_body(comments1)
Я знаю, что с перечисление Я в основном вызываю индекс и ключ, я не могу понять, как вызвать 'body', то есть строки, которые я хочу маркировать.
Для обоих comments1 и comments2 со строками в качестве входных данных я получаю сообщение об ошибке: TypeError: строковые индексы должны быть целыми числами .
ЕслиЯ применяю целые числа вместо строк, comments3 , я получаю сообщение об ошибке: TypeError: объект 'int' не может быть подписан .
Это может показаться вам тривиальным, ноЯ не могу понять, что я делаю не так.Если бы вы могли привести минимальный рабочий пример, это было бы очень полезно.