如何根据内部列表的特定索引对列表列表进行排序?

Patricia Arquette
发布: 2024-11-22 07:34:10
原创
834 人浏览过

How to Sort a List of Lists by a Specific Index of the Inner Lists?

按内部列表索引对列表进行排序

问题:

给定一个列表列表,每个内部列表包含多个元素,我们如何通过内部列表的特定索引对外部列表进行排序列表?

示例:

考虑以下列表:

[[0, 1, 'f'],
[4, 2, 't'],
[9, 4, 'afsd']]
登录后复制

如果我们想按字符串字段对外部列表进行排序的内部列表,我们将如何实现这一点Python?

解决方案:

解决方案涉及使用operator.itemgetter函数。该函数允许我们从每个内部列表中提取特定元素并将其用作排序标准。下面是我们如何使用它:

from operator import itemgetter

L = [[0, 1, 'f'], [4, 2, 't'], [9, 4, 'afsd']]
sorted(L, key=itemgetter(2))
登录后复制

解释:

  • itemgetter(2) 返回一个从每个内部列表中提取第三个元素的函数(索引2,从0开始)。
  • sorted()中的关键参数指定排序标准。通过使用 itemgetter(2),我们指示排序函数使用字符串字段作为排序键。
  • 结果是列表的排序列表,其顺序由字符串字段决定。

附加说明:

虽然 itemgetter 是一种按内部排序的有效方法列表索引,对于像这样的简单情况,也可以使用 lambda 函数。然而,在这种情况下,lambda 函数通常会变慢。

以上是如何根据内部列表的特定索引对列表列表进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!

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