Итак, у меня есть словарь с кучей ключей и значений, например,
dictionary = {'aety': ['yate', 'yeat', 'yeta'], 'arst': ['sart', 'sart', 'star', 'star', 'stra', 'tars', 'tsar']}
Каждый ключ имеет как минимум 2 значения в моем словаре, следовательно, maxlen = 2 ниже.
Я хочу сделать новый словарь 'самым длинным', который получит ключ и его значение, которое содержит наибольшее количество элементов в списке, поэтому в этом случае 'arst'.
Я написал это:
maxlen = 2
longest = {k: v for k, v in dictionary.items() if (len(v) > maxlen)}
Приведенный выше код будет делать то, что я хочу, если мне удастся установить maxlen = len (v) каждый раз, когда len (v)> maxlen (так же, как обычно находить максимум в списке или что-то в этом роде), но как это сделать?Я делаю это здесь?
Итак, на этой части:
if (len(v) > maxlen)
Я хочу, чтобы это произошло:
len(v) = maxlen
Как мне это сделать и могу ли я соответствоватьчто в этой строке без написания связок разных строк или циклов?
Спасибо