如何排序Python中字典的数组?

3 投票
3 回答
1516 浏览
提问于 2025-04-17 17:46

下面是一些内容:

代码

arr = [{"name":"joe", "hotdogs":5},{"name":"april", "hotdogs":5},{"name":"ryan", "hot dogs":8}]

如何在Python中对数组里的元素进行排序,使得字典是按照名字排序的呢?

arr = [{"name":"april", "hotdogs":5},{"name":"joe", "hotdogs":5},{"name":"ryan", "hotdogs":8}]

如何对数组中的字典应用某个函数进行排序呢?

3 个回答

0

这样怎么样

>>> import collections
>>> collections.OrderedDict(april=5, joe=5, ryan=8)
OrderedDict([('april', 5), ('joe', 5), ('ryan', 8)]

或者根据DSM的评论

>>> collections.OrderedDict([('april', 5), ('joe', 5), ('ryan', 8)])
OrderedDict([('april', 5), ('joe', 5), ('ryan', 8)])
1
6

像这样:

arr.sort(key=operator.itemgetter('name'))

撰写回答