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

Grab items from dictionary based on length of lists they are mapped to

所以我有一个 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)

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

答案:排序(d.items(),key = lambda x:len(x[1]))