如何在Python中按键对关联数组进行排序?我有以下结构:people = [ {'name' : 'Bob', 'number' : '123'}, {'name' : 'Bill', 'number' : '234'}, {'name' : 'Dave', 'number' : '567'},]我想按名称排序。有内置的功能可以做到这一点吗?
1 回答
largeQ
TA贡献2039条经验 获得超7个赞
使用sorted函数的key参数:
sorted(people, key=lambda dct: dct['name'])
有一个很好的Sorting HOWTO,它解释了它是如何工作的。
>>> people = [
{'name' : 'Bob', 'number' : '123'},
{'name' : 'Bill', 'number' : '234'},
{'name' : 'Dave', 'number' : '567'},
]
>>> sorted(people, key=lambda dct: dct['name'])
[{'name': 'Bill', 'number': '234'},
{'name': 'Bob', 'number': '123'},
{'name': 'Dave', 'number': '567'}]
或者,您可以使用
import operator
sorted(people, key=operator.itemgetter('name'))
使用operator.itemgetter('name')的速度比使用的速度稍快 lambda dct: dct['name']。
添加回答
举报
0/150
提交
取消