我有一个列表,如下所示:
C = [
[129211, [{'cid': 142211, 'date': 1478550075, 'likes': {'count': 40}]
[128732, [{'cid': 142061, 'date': 1478550100, 'likes': {'count': 17}]
...
]
如何获取此列表的副本,按“赞”中的“count”值排序(在本例中为40和17)?
答案 0 :(得分:11)
只需使用合适的排序键即可。
C = [
[129211, [{'cid': 142211, 'date': 1478550075, 'likes': {'count': 40}}]],
[128732, [{'cid': 142061, 'date': 1478550100, 'likes': {'count': 17}}]]
]
s = sorted(C, key=lambda i: i[1][0]['likes']['count'])
请注意,您当前的列表C
结构不合理 - 我修复了错误的语法。
结果:
>>> import pprint
>>> pprint.pprint(s)
[[128732, [{'cid': 142061, 'date': 1478550100, 'likes': {'count': 17}}]],
[129211, [{'cid': 142211, 'date': 1478550075, 'likes': {'count': 40}}]]]