首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >按两个字段对Python列表进行排序

按两个字段对Python列表进行排序
EN

Stack Overflow用户
提问于 2011-03-07 03:36:08
回答 8查看 197.7K关注 0票数 210

我从排序后的csv中创建了以下列表

list1 = sorted(csv1, key=operator.itemgetter(1))

我实际上想要根据两个标准对列表进行排序:首先是字段1中的值,然后是字段2中的值。我该怎么做?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-03-07 03:38:26

如下所示:

import operator
list1 = sorted(csv1, key=operator.itemgetter(1, 2))
票数 175
EN

Stack Overflow用户

发布于 2013-06-14 21:01:31

使用lambda函数时不需要导入任何内容。

下面的代码先按第一个元素对list排序,然后再按第二个元素排序。您还可以按一个字段升序和另一个字段降序进行排序,例如:

sorted_list = sorted(list, key=lambda x: (x[0], -x[1]))
票数 396
EN

Stack Overflow用户

发布于 2011-03-07 03:41:38

list1 = sorted(csv1, key=lambda x: (x[1], x[2]) )
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5212870

复制
相关文章

相似问题

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