How to multisort list of dictionaries in Python?
本问题已经有最佳答案,请猛点这里访问。
列表具有结构:
1 | test = [{"title": title,"ratio": ratio,"delta": begin - now()}] |
需要按比率(max->min)排序,然后按delta(min->max)排序?
在排序比较期间,可以使用这两个键的这两个值作为当前字典的代表。
1 | sorted(test, key=lambda x: (-d['ratio'], d['delta'])) |
将首先根据
这里,我们否定了EDOCX1的值(2),因为默认情况下,
我们希望python同时使用
简单如:
1 2 3 4 | from operator import itemgetter >>> result = sorted(test, key=itemgetter('-ratio')) >>> result = sorted(result, key=itemgetter('delta')) |