Python 根据项目映射到的列表的长度从字典中获取项目

Python 根据项目映射到的列表的长度从字典中获取项目,python,dictionary,Python,Dictionary,所以我有一个dict,它的格式如下 d = { 1: [m1, m2], 2: [m3, m5, m6], 3: [m4], 4: [m7, m8] } 我想在迭代时首先提取信息,以获得最大的列表。但因为当我做类似的事情时,字典是无序存储的 for n, my_list in d.items(): # do stuff.. 我不能保证我会先得到2:[m3,m5,m6]条目。有没有干净的方法可以做到这一点?您只需要按照值的长度对项目进行排序 items

所以我有一个
dict
,它的格式如下

d = {
    1: [m1, m2],
    2: [m3, m5, m6],
    3: [m4],
    4: [m7, m8]
}
我想在迭代时首先提取信息,以获得最大的列表。但因为当我做类似的事情时,字典是无序存储的

for n, my_list in d.items():
    # do stuff..

我不能保证我会先得到
2:[m3,m5,m6]
条目。有没有干净的方法可以做到这一点?

您只需要按照值的长度对项目进行排序

items = sorted(d.items(), key=lambda i: len(i[1]), reverse=True)

您只需要按照值的长度对项目进行排序

items = sorted(d.items(), key=lambda i: len(i[1]), reverse=True)

您必须按照字典的值大小对字典进行排序,并相应地对它们进行排序


Ans:sorted(d.items(),key=lambda x:len(x[1]))

您必须按其值大小对字典进行排序,并相应地对其进行排序


Ans:sorted(d.items(),key=lambda x:len(x[1]))

如果您总是想先提取最大值,a可能是比字典更好的数据结构。如果您总是想先提取最大值,a可能是比字典更好的数据结构。