当前位置: 首页 > 面试题库 >

Python-如何根据字典的值对字典列表进行排序?

微生高谊
2023-03-14
问题内容

我有一个字典列表,希望每个项目都按特定的属性值排序。

考虑下面的数组,

[{'name':'Homer', 'age':39}, {'name':'Bart', 'age':10}]

当排序name,应该成为

[{'name':'Bart', 'age':10}, {'name':'Homer', 'age':39}]

问题答案:

使用密钥而不是cmp看起来更干净:

newlist = sorted(list_to_be_sorted, key=lambda k: k['name']) 

或如JFSebastian和其他人所建议的,

from operator import itemgetter
newlist = sorted(list_to_be_sorted, key=itemgetter('name')) 

为了完整性(如fitzgeraldsteele的评论中指出的那样),请添加reverse=True降序排列

newlist = sorted(l, key=itemgetter('name'), reverse=True)


 类似资料:
  • 问题内容: 仍在学习python(最后!),还不能完全绕过这个问题。我想做的是使用列表中的第三项按值对列表字典进行排序。当值只是一个数字或字符串时,按值对字典排序很容易,但是这个列表让我感到困惑。 例: 我希望能够按每个列表中第三个值的顺序遍历字典,在这种情况下为9、3、11。 非常感谢您的帮助! 问题答案: 这是执行此操作的一种方法: 该参数的的功能,可以让您导出列表中的每个元素的排序键。 要遍

  • rank ▲ ✰ vote url 11 867 379 1107 url 用字典的值对字典进行排序 我有个字典,字典的值来自于数据库:一个是字符串,一个是数字.字符串是唯一的,所以键就是字符串. 我可以用键来排序,但是怎么用值来排序呢? 注:我已经看过另一个问题怎样对列表中的字典的键值对字典进行排序?,或许这种方法可以,但是我确实只需要一个字典,我想看看还有其他更好的方法. 对字典进行排序是不可

  • rank ▲ ✰ vote url 49 432 198 616 url 通过列表中字典的值对列表进行排序 我的到了一个字典的列表,我想对字典的值进行排序. [{'name':'Homer', 'age':39}, {'name':'Bart', 'age':10}] 对name进行排序,应当是: [{'name':'Bart', 'age':10}, {'name':'Homer', 'age

  • 问题内容: 我有一个字典列表和每个字典的key(比方说)“型”,这可以有值,等我的目标是过滤掉这些字典到同一个字典列表,但只有一个的那些某些“类型”。我想我真的很在理解问题。 因此,示例列表如下所示: 我有一个键值列表。举例来说: 预期的结果列表如下所示: 我知道我可以用一组for循环来做到这一点。我知道必须有一个更简单的方法。我发现此问题有很多不同的风格,但没有一个完全符合要求并回答了这个问题。

  • 本文向大家介绍python对字典进行排序实例,包括了python对字典进行排序实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python对字典进行排序的方法,是非常实用的技巧。分享给大家供大家参考。 具体实现方法如下: 程序运行结果为: 希望本文所述对大家Python程序设计的学习有所帮助。

  • 问题内容: 我有一个从数据库中的两个字段读取的值字典:字符串字段和数字字段。字符串字段是唯一的,因此这是字典的键。 我可以对键进行排序,但是如何根据值进行排序? 问题答案: Python 3.7+或CPython 3.6 字典在Python 3.7+中保留插入顺序。在CPython 3.6中相同,但是它是一个实现细节。 要么 较旧的Python 无法对字典进行排序,只能获得已排序字典的表示形式。字