В моей домашней задаче этот вопрос просит меня сделать функцию, в которой Python должен создавать словарь о том, сколько слов, начинающихся с определенной буквы в длинной строке, является симметричным. Симметричный означает, что слово начинается с одной буквы и заканчивается тем же письмом. Мне не нужна помощь в этом алгоритме. Я определенно знаю, что у меня все в порядке, но мне просто нужно исправить эту ошибку ключа, которую я не могу понять. Я написал d[word[0]] += 1
, что должно добавить 1 к частоте слов, начинающихся с этой конкретной буквы.Ключевые ошибки в словаре. Как заставить Python печатать мой словарь?
Вывод должен выглядеть следующим образом (используя строку I представленную ниже): {'d': 1, 'i': 3, 't': 1}
t = '''The sun did not shine
it was too wet to play
so we sat in the house
all that cold cold wet day
I sat there with Sally
we sat there we two
and I said how I wish
we had something to do'''
def symmetry(text):
from collections import defaultdict
d = {}
wordList = text.split()
for word in wordList:
if word[0] == word[-1]:
d[word[0]] += 1
print(d)
print(symmetry(t))
Спасибо! Это правильный способ сделать это! Это сработало! Надеюсь, в будущем я не получу ключевых ошибок, используя ваш код (часть, которую вы исправили у меня) – Jorgan