获取列表字典中包含更多元素的列表
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 与字典键关联的值的长度。
我已经看过几篇关于列表词典的文章,但到目前为止,其中 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 与字典键关联的值的长度。