Форум сайта python.su
0
Каким образом можно найти ключи с самым большим колличеством значений? Попытался так, но выводит не всегда правильный ключ и его значения :
def maxlength(words):
anagram = print_anagram(words)
maxlength = 1
for key,anagrams in anagram.items():
if len(anagrams) > maxlength:
maxlength == len(anagrams)
return key,anagrams
Офлайн
294
приведите пример, когда выводит неправильный ключ.
А то непонятно, что у вас за значения, если это строки то 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]
[code python][/code]
Отредактировано PEHDOM (Дек. 13, 2016 12:11:42)
Офлайн
73
случайно не оно?
print(max(anagram.values(), key = len))
PEHDOM
если это строки то len будет выводить к-во символов, а если там список(кортеж, словарь ХЗ еще что) то к-во элементов списка
Офлайн