首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >嵌套列表排序python 3

嵌套列表排序python 3
EN

Stack Overflow用户
提问于 2015-10-19 17:00:46
回答 2查看 5.7K关注 0票数 5

我是个蟒蛇初学者--头刘海。这是一个非常基本的问题,我似乎找不到任何直接的答案,无论是使用谷歌或StackOverFlow。

问题:我有一个嵌套列表:

代码语言:javascript
复制
 l = [
 [1,4,3,n]
 [2,2,4,n]
 [3,1,5,n]
 ]

我想按最小到最大的第二个值对整个列表进行排序。我会用第三个值重新排序这个列表.和每个嵌套列表的第n个值。

一种基于第二种,第三种,N值是怎样的?

这里提到了一个键,但是经常使用"key=lambda“,这让我更加困惑。

编辑:谢谢你们的帮助。我能够利用你的建议来解决眼前的问题。我会投你一票,但很显然,我还不能以那种形式表达我的谢意。总有一天我会回来的,会让你名声扫地。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-19 17:10:48

也可以使用运算符完成。

operator.itemgetter(1)内部,您指示要对哪个索引进行排序。因此,在本例中,我们指定的是1,这是第二项。

代码语言:javascript
复制
import operator

l = [[1,4,3], [2,2,4], [3,1,5]]
print(sorted(l, key=operator.itemgetter(1)))

产出:

代码语言:javascript
复制
[[3, 1, 5], [2, 2, 4], [1, 4, 3]]
票数 6
EN

Stack Overflow用户

发布于 2015-10-19 17:08:06

你可以这样做,

代码语言:javascript
复制
>>> l = [[1,4,3], [2,2,4], [3,1,5]]
>>> sorted(l, key=lambda x: x[1])
[[3, 1, 5], [2, 2, 4], [1, 4, 3]]

或者:

代码语言:javascript
复制
>>> l.sort(key=lambda x: x[1])
>>> l
[[3, 1, 5], [2, 2, 4], [1, 4, 3]]
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33219985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档