приведите пример, когда выводит неправильный ключ.
А то непонятно, что у вас за значения, если это строки то len будет выводить к-во символов, а если там список(кортеж, словарь ХЗ еще что) то к-во элементов списка. А если у вас вперемешку строки и списки, то сторока из 4-х симолов будет “длиннее” списка из 3-х элементов.
ну и плюс у вас возвращает не максимальный key,anagrams а последний из for. попробуйте както так:
def maxlength(words):
anagram = print_anagram(words)
maxlength = -1
for key,anagrams in anagram.items():
if len(anagrams) > maxlength:
maxlength = len(anagrams)
maxkey = key
return maxkey, anagram[maxkey]