Извините, если это глупый вопрос, но я новичок в python. У меня есть фрагмент кода, который открывал текст, читая его, создавая список слов, затем из этого списка создавал словарь для каждого слова со счетчиком того, сколько раз оно появляется в списке слов. Этот код работал нормально и печатал словарь нормально, однако, когда я помещал его в функцию и вызывал функцию, он возвращает словарь, но только с одной записью. Любые идеи, поэтому любая помощь очень ценится.
def createDict():
wordlist = []
with open('superman.txt','r', encoding="utf8") as superman:
for line in superman:
for word in line.split():
wordlist.append(word)
#print(word)
table = str.maketrans("!#$%&()*+, ./:;<=>?@[\]^_`{|}~0123456789'“”-''—", 47*' ' )
lenght = len(wordlist)
i = 0
while i < lenght:
wordlist[i] = wordlist[i].translate(table)
wordlist[i] = wordlist[i].lower()
wordlist[i] = wordlist[i].strip()
i += 1
wordlist = list(filter(str.strip, wordlist))
word_dict = {}
for item in wordlist:
if item in word_dict.keys():
word_dict[item] += 1
else:
word_dict[item] = 1
return(word_dict)