Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 13, 2016 10:50:42

ProPall
Зарегистрирован: 2016-10-10
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

Словари

Каким образом можно найти ключи с самым большим колличеством значений? Попытался так, но выводит не всегда правильный ключ и его значения :

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
Функция должна напечатать и ключ и его значения.

Офлайн

#2 Дек. 13, 2016 11:38:45

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Словари

приведите пример, когда выводит неправильный ключ.
А то непонятно, что у вас за значения, если это строки то 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)

Офлайн

#3 Дек. 13, 2016 13:45:39

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

Словари

случайно не оно?

 print(max(anagram.values(), key = len))
ну как ответил PEHDOM
PEHDOM
если это строки то len будет выводить к-во символов, а если там список(кортеж, словарь ХЗ еще что) то к-во элементов списка

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version