У меня есть файл random.txt
, из которого мне нужно взять каждое слово и индексировать позицию и букву в словаре. Например, это будет следующим: {(3,'m'):'example'}
. Каждый раз, когда есть слово, которое имеет одну и ту же проиндексированную букву в той же позиции, оно только добавляет слово к значению словаря, поэтому оно должно быть {(3,'m'):'example','salmon'}
и не печатать каждый отдельно.Добавление наборов в словарь
Это то, что у меня есть, и оно не добавляет слово к значению ключа каждый раз, когда оно просто делает свою собственную ценность каждый раз.
def fill_completions(c_dict, fileObj):
import string
punc = string.punctuation
for line in fileObj:
line = line.strip()
word_list = line.split() #removes white space and creates a list
for word in word_list:
word = word.lower()
word = word.strip(punc) #makes lowercase and gets rid of punctuation
for position,letter in enumerate(word):
"position: {} letter: {}".format(position,letter)
my_tuple = (position,letter)
if word in my_tuple:
c_dict[my_tuple] += word
else:
c_dict[my_tuple] = word
print(c_dict)