首页 > 后端开发 > Python教程 > 如何在Python中对具有多个属性的列表进行高效排序?

如何在Python中对具有多个属性的列表进行高效排序?

Linda Hamilton
发布: 2024-12-15 17:05:17
原创
435 人浏览过

How Can I Efficiently Sort Lists with Multiple Attributes in Python?

具有多个属性的列表的有效排序

在管理列表列表时,有必要根据特定属性对它们进行有效排序。当我们需要同时按多个属性排序时,就会出现一种常见情况,例如对颜色和高度列表进行排序。

考虑以下列表:

[[12, 'tall', 'blue', 1],
[2, 'short', 'red', 9],
[4, 'tall', 'blue', 13]]
登录后复制

通常,按可以使用sorted(s, key = itemgetter(1)) 来实现单个属性。然而,对于多个属性,存在更有效的方法。

键可以定义为返回元组的函数。通过使用 lambda 函数或 itemgetter,我们可以创建一个考虑多个属性的键:

Lambda 函数:

s = sorted(s, key = lambda x: (x[1], x[2]))
登录后复制

使用 Itemgetter(更快) :

import operator
s = sorted(s, key = operator.itemgetter(1, 2))
登录后复制

此外,排序方法可以是直接与提供的键一起使用:

s.sort(key = operator.itemgetter(1, 2))
登录后复制

使用这种方法,列表将根据指定的属性进行有效排序。此方法速度相当快,并且避免了不必要的 Python 函数调用。

以上是如何在Python中对具有多个属性的列表进行高效排序?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板