我有此列表data
,需要通过 Hits 订购。
data = []
data.append({"url":"google.com", "Hits":5, "Size":7})
data.append({"url":"microsoft.com", "Hits":30, "Size":0})
data.append({"url":"abc.com", "Hits":20, "Size":3})
我尝试使用data.sort()
和sorted(data)
,但他们没有工作。
答案 0 :(得分:1)
您可以将key=
参数用于.sort()
或sorted()
:
data.sort(key=lambda d: d["Hits"])
答案 1 :(得分:1)
作为lambda函数的替代方法,您还可以将itemgetter
对象作为sorted
的密钥传递,因为itemgetter
的实例是可调用的。
>>> from operator import itemgetter
>>> sorted(data, key=itemgetter('Hits'))
[{'url': 'google.com', 'Hits': 5, 'Size': 7}, {'url': 'abc.com', 'Hits': 20, 'Size': 3}, {'url': 'microsoft.com', 'Hits': 30, 'Size': 0}]