繁体   English   中英

如果值是排序列表,如何按值对字典进行排序?

[英]How to sort a dictionary by value if the value is a sorted list?

我正在尝试根据值(这是一个排序列表)对字典进行排序。 例如,我有这些字典项目:

1:[2, 6, 10, 14, 20, 46]
2:[1, 2, 3, 14, 16, 18, 23, 37, 41]
3:[1, 2, 4, 6, 10, 27, 45, 290]
4:[3, 5, 13, 34, 39, 40, 47, 555]

我希望输出是这样的:

2:[1, 2, 3, 14, 16, 18, 23, 37, 41]
3:[1, 2, 4, 6, 10, 27, 45, 290]
1:[2, 6, 10, 14, 20, 46]
4:[3, 5, 13, 34, 39, 40, 47, 555]

像这样的事情应该可以解决问题。

x = {
1:[2, 6, 10, 14, 20, 46],
2:[1, 2, 3, 14, 16, 18, 23, 37, 41],
3:[1, 2, 4, 6, 10, 27, 45, 290],
4:[3, 5, 13, 34, 39, 40, 47, 555]
}

b = sorted(x.items(), key=lambda i: i[1])
print(b)

输出:

[(2, [1, 2, 3, 14, 16, 18, 23, 37, 41]), (3, [1, 2, 4, 6, 10, 27, 45, 290]), (1, [2, 6, 10, 14, 20, 46]), (4, [3, 5, 13, 34, 39, 40, 47, 555])]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM