Я пытаюсь использовать max, чтобы найти вывод наибольшее значение, прикрепленное к ключу в словаре CFD Python. На этом веб-сайте (https://www.hallada.net/2017/07/11/generating-random-poems-with-python.html)) меня убедили, что max можно использовать для правильного нахождения значения CFD. Однако я обнаружил, что, похоже, он не дает правильных результатов, когда частота элементов в словаре CFDизменен.
Я новичок в Python, и я думаю, что я могу просто смущаться, как вызывать данные. Я попытался отсортировать список, полагая, что смог получить значения в ключах, чтобы они были отсортированы, но яне думаю, что я тоже понимаю, как это сделать.
words = ('The quick brown fox jumped over the '
'lazy the lazy the lazy dog and the quick cat').split(' ')
from collections import defaultdict
cfd = defaultdict(lambda: defaultdict(lambda: 0))
for i in range(len(words) - 2): # loop to the next-to-last word
cfd[words[i].lower()][words[i+1].lower()] += 1
{k: dict(v) for k, v in dict(cfd).items()}
max(cfd['the'])
Наиболее распространенное слово после "the" - "lazy". Однако python выводит последнее слово в словаре CFD, которое "быстро. "