Я хочу добавить все слова в текстовый файл в словарь, но только один раз (без повторов) и остальные слова в список. Я выяснил, как это сделать, посмотрев ответы. Вот как выглядел мой код, когда я сдался. Когда я запускаю его в текстовом файле, я получаю keyerror на последнем слове в файле. Этот путь довольно близок к решению, но я не мог заставить его работать правильно, и я не понимаю, почему. Кто-нибудь, пожалуйста, попытайтесь объяснить это мне, чтобы я мог лучше понять. Спасибо.Словарь ключевой ошибки при последнем слове
import sys
def dictionary(filename):
dict = {}
list = []
open_file = open(filename, 'rU')
for lines in open_file:
line = lines.split()
for words in line:
word = words.lower()
if not word in dict:
dict[word]
else:
list.append(word)
print (dict)
filename = sys.argv[1]
dictionary(filename)
В вашем коде есть несколько вещей, но это неправильное место для этого вопроса. Этот вопрос нужно перенести в [Кодекс обзора стека Exchange] (http://codereview.stackexchange.com). – augurar
Я думаю, вы хотите, чтобы ваш 'if' был * внутри * цикла' for'. В чем смысл «списка»? И как только вы устанавливаете, что слово «слово» не является ключом 'dict', почему тогда вы запрашиваете значение этого ключа (' dict [word] ')? –