获取列表字典中包含更多元素的列表

Get list with more elements in dictionary of lists

我已经看过几篇关于列表词典的文章,但到目前为止,其中 none 篇文章对我有帮助。我有一个列表字典,例如:

dict = {'a': [1,5,4], 'b': [4], 'c': [1,5,4,3,8], 'd': [1,4]}

现在我想在循环中获取包含更多元素的列表,在这种情况下,第一个列表将是 "c",然后删除该列表并再次开始循环。我首先在数组中附加 "dict" 的键和值(我不知道这是否有必要):

for key, value in dict.items():
    array_keys.append(str(key))
    array_values.append(dict[key])

接下来,我尝试开始循环并获取包含我使用的更多元素的列表:

max_list = max([len(i) in array_values])

有了这个,我得到“5”,这是字典中值的最大元素数。我想获取列表的名称,"c"。你能帮帮我吗?

使用max()和一个键函数:

max(dictobject, key=lambda k: len(dictobject[k]))

这 return 是值最长的键。

通常 max() 会比较您给它的可迭代对象的值,return 比较最后排序的元素。如果您传递一个键函数,它将 return 值 key(value) 最后排序的值。这里的键函数 returns 与字典键关联的值的长度。