在Python中对关联数组进行排序[重复]
Posted
技术标签:
【中文标题】在Python中对关联数组进行排序[重复]【英文标题】:Sorting associative arrays in Python [duplicate] 【发布时间】:2013-05-20 13:48:31 【问题描述】:Python中的关联数组如何按键排序?
我有以下结构:
people = [
'name' : 'Bob', 'number' : '123',
'name' : 'Bill', 'number' : '234',
'name' : 'Dave', 'number' : '567',
]
我想按名称排序。是否有内置函数可以做到这一点?
【问题讨论】:
您是否在 Google 上搜索过“在 python 中对关联数组进行排序”?您找到的关于排序关联数组的文档有什么问题? 谷歌搜索这个问题的标题......让你回到这个问题。 【参考方案1】:使用sorted
函数的key
参数:
sorted(people, key=lambda dct: dct['name'])
有一个excellent 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']
.
【讨论】:
以上是关于在Python中对关联数组进行排序[重复]的主要内容,如果未能解决你的问题,请参考以下文章