迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

在 Python 中对字典列表进行排序

作者:迹忆客 最近更新:2023/04/25 浏览次数:

列表是 Python 中的线性集合对象,它可以通过将每个元素存储在特定索引处来模拟数组。 列表还可以存储其他对象,例如包含键值对的字典。

本教程说明了如何在 Python 中对字典列表进行排序。


使用 sorted() 函数对 Python 中的字典列表进行排序

此函数采用现有列表并返回排序列表。 它可以按升序或降序对列表进行排序。 我们还可以指定一个关键参数,它提供了一个函数来决定元素的顺序。

我们可以通过使用 sorted() 函数对字典列表进行排序来获得优势。 但是,使用比较运算符比较字典实例并不简单; 我们需要使用关键参数。

我们可以根据键的值对列表进行排序。 另一个条件是该键在列表中的所有词典中都是通用的。

现在让我们看一个这样的例子。

lst = [{'n':1},{'n':4},{'n':2}]
print(sorted(lst,key=lambda d: d['n']))

输出:

[{'n': 1}, {'n': 2}, {'n': 4}]

上面的示例具有具有相同键 n 的字典,我们根据该键的值对其进行排序。 我们使用 sorted() 函数的关键参数分配一个 lambda 函数。

这个单行函数告诉参数考虑与这个键关联的值来对它们进行排序。 我们还可以使用 operator.itemgetter() 函数代替 lambda 函数。

我们可以使用此函数从字典中获取值并将其用于比较。 请参阅下面的代码。

import operator
lst = [{'n':1},{'n':4},{'n':2}]
print(sorted(lst,key=operator.itemgetter('n')))

输出:

[{'n': 1}, {'n': 2}, {'n': 4}]

我们还可以使用 reverse 参数并将其设置为 True 以降序排列列表。 例如,请参见以下代码栅栏。

import operator
lst = [{'n':1},{'n':4},{'n':2}]
print(sorted(lst,key=operator.itemgetter('n'),reverse = True))

输出:

[{'n': 4}, {'n': 2}, {'n': 1}]

上面的示例显示列表已按降序排序。


使用 sort() 函数对 Python 中的字典列表进行排序

sort() 函数的工作方式类似于用于对列表进行排序的 sorted 方法。 主要区别在于 sort() 函数改变了原始列表的顺序,而后者创建了一个新列表。

我们可以像使用 sorted 函数一样使用 sort() 方法,使用 operator.itemgetter() 和 lambda 函数。

我们将像在前面的示例中一样使用 key 参数。 我们还可以使用反向参数对列表进行降序排序。

请参阅下面的代码。

import operator
lst1 = [{'n':1},{'n':4},{'n':2}]
lst2 = [{'n':5},{'n':1},{'n':3}]
lst1.sort(key=lambda d:d['n'])
lst2.sort(key=operator.itemgetter('n'),reverse = True)
print(lst1,lst2)

输出:

[{'n': 1}, {'n': 2}, {'n': 4}] [{'n': 5}, {'n': 3}, {'n': 1}]

上面的例子表明,原始列表已根据所需的键进行了修改和排序。

第一个列表使用 lambda 函数。 第二个使用 operator.itemgetter 方法并使用 reverse 参数按降序对列表进行排序。

因此,我们有两种方法可以在 Python 中对字典列表进行排序。 首先,它使用了 sorted 和 sort 函数。 为了对字典列表进行排序,我们使用来自所有字典中的公共键的值。

我们创建一个返回这个值的函数,并在两个函数中用 key 参数指定它。 为此,我们讨论了 lambda 和 operator.itemgetter 方法。

要按降序获取结果,我们可以使用 reverse 参数并将其设置为 True。 太棒了! 您已经成功学习了如何在 Python 中对字典列表进行排序。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Django 中的 Slug

发布时间:2023/05/04 浏览次数:173 分类:Python

本篇文章旨在定义一个 slug 以及我们如何使用 slug 字段在 Python 中使用 Django 获得独特的帖子。

Django ALLOWED_HOSTS 介绍

发布时间:2023/05/04 浏览次数:181 分类:Python

本文展示了如何创建您的 Django 网站,为公开发布做好准备,如何设置 ALLOWED_HOSTS 以及如何在使用 Django 进行 Web 部署期间修复预期的主要问题。

Django 中的 Select_related 方法

发布时间:2023/05/04 浏览次数:129 分类:Python

本文介绍了什么是查询集,如何处理这些查询以及我们如何利用 select_related() 方法来过滤 Django 中相关模型的查询。

在 Django 中上传媒体文件

发布时间:2023/05/04 浏览次数:198 分类:Python

在本文中,我们简要介绍了媒体文件以及如何在 Django 项目中操作媒体文件。

Django 返回 JSON

发布时间:2023/05/04 浏览次数:106 分类:Python

在与我们的讨论中,我们简要介绍了 JSON 格式,并讨论了如何借助 Django 中的 JsonResponse 类将数据返回为 JSON 格式。

在 Django 中创建对象

发布时间:2023/05/04 浏览次数:59 分类:Python

本文的目的是解释什么是模型以及如何使用 create() 方法创建对象,并了解如何在 Django 中使用 save() 方法。

在 Django 中为多项选择创建字段

发布时间:2023/05/04 浏览次数:75 分类:Python

在本文中,我们将着眼于为多项选择创建一个字段,并向您展示如何允许用户在 Django 中进行多项选择。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便