根据映射到的列表的长度从字典中获取项目
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]))
所以我有一个 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]))