Python:如何按内部字典中的给定值对列表进行排序?

时间:2016-11-08 10:24:03

标签: python list

我有一个列表,如下所示:

C = [
      [129211, [{'cid': 142211, 'date': 1478550075, 'likes': {'count': 40}]
      [128732, [{'cid': 142061, 'date': 1478550100, 'likes': {'count': 17}]
      ...
    ]

如何获取此列表的副本,按“赞”中的“count”值排序(在本例中为40和17)?

1 个答案:

答案 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}}]]]