首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python中对2D列表进行排序

在Python中对2D列表进行排序
EN

Stack Overflow用户
提问于 2021-08-01 09:16:52
回答 4查看 134关注 0票数 0

使用Python语言中的.sort(),如何对2D列表进行排序,例如:

代码语言:javascript
复制
myVar = [['blueberries','fruit','5.20'],['bean sprouts','vegetable','9.25'],['tulip','flower','8.93']]
#added comma

按项目分类,例如:

代码语言:javascript
复制
myVar = [['bean sprouts','vegetable','9.25'],['blueberries','fruit','5.20'],['tulip','flower','8.93']]

按价格计算,例如:

代码语言:javascript
复制
myVar = [['blueberries','fruit','5.20'],['tulip','flower','8.93'],['bean sprouts','vegetable','9.25']]

其中“蓝莓、豆芽和郁金香”是商品,“水果、蔬菜和花朵”是类别,浮动是价格。

EN

回答 4

Stack Overflow用户

发布于 2021-08-01 09:24:14

考虑使用像这样的东西:

代码语言:javascript
复制
myList = [['blueberries', 'fruit', 5.20], [
    'bean sprouts', 'vegetable', 9.25], ['tulip', 'flower', 8.93]]

for i in range(3):
    print(sorted(myList, key=lambda x: x[i]))
票数 1
EN

Stack Overflow用户

发布于 2021-08-01 09:26:05

别忘了在列表的元素之间加逗号

代码语言:javascript
复制
myVar = [['blueberries','fruit','5.20'],
         ['bean sprouts','vegetable','9.25'],
         ['tulip','flower','8.93']]

现在,您可以按照Andy Knight在评论中的建议使用sorted内置,并指定一个用于比较项的key函数。

按价格对列表进行排序,并获得排序列表的副本

代码语言:javascript
复制
sorted(myVar, key=lambda x: float(x[2]))

按项目名称对列表进行排序

代码语言:javascript
复制
sorted(myVar, key=lambda x: x[0])
票数 1
EN

Stack Overflow用户

发布于 2021-08-01 09:20:49

您可以使用lambda

例如,

按项目排序:

代码语言:javascript
复制
list.sort(key = lambda x: x[0])

按价格排序:

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

https://stackoverflow.com/questions/68609021

复制
相关文章

相似问题

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