在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中对关联数组进行排序[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在Javascript中对地址数组进行排序[重复]

PHP 数组排序

PHP 数组排序

PHP数组排序

array_multisort 对关联数组进行排序的问题 PHP

如何在javascript中对字母数字数组进行排序[重复]