如何在Python中按鍵對關聯數組進行排序?我有以下結構:people = [ {'name' : 'Bob', 'number' : '123'}, {'name' : 'Bill', 'number' : '234'}, {'name' : 'Dave', 'number' : '567'},]我想按名稱排序。有內置的功能可以做到這一點嗎?
1 回答

largeQ
TA貢獻2039條經驗 獲得超8個贊
使用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
提交
取消