如何在Python中对此列表进行排序?

TIM*_*MEX 5 python list

[{'time':33},{'time':11},{'time':66}]

如何按"时间"元素DESC排序.

Nad*_*mli 27

像这样:

from operator import itemgetter
l = sorted(l, key=itemgetter('time'), reverse=True)
Run Code Online (Sandbox Code Playgroud)

要么:

l = sorted(l, key=lambda a: a['time'], reverse=True)
Run Code Online (Sandbox Code Playgroud)

输出:

[{'time': 66}, {'time': 33}, {'time': 11}]
Run Code Online (Sandbox Code Playgroud)

如果您不想保留原始订单,可以使用your_list.sort它修改原始列表而不是创建类似的副本sorted(your_list)

l.sort(key=lambda a: a['time'], reverse=True)
Run Code Online (Sandbox Code Playgroud)

  • @nosklo,itemgetter实际上返回一个与lambda a几乎相同的函数a:a ['time']所以这个预期没有太大区别.两种方法都涉及每个元素的函数调用. (2认同)