为了账号安全,请及时绑定邮箱和手机立即绑定

如何根据给定索引的元素对列表/元组进行排序(list/tuple)?

如何根据给定索引的元素对列表/元组进行排序(list/tuple)?

慕运维8079593 2019-06-06 13:40:38
如何根据给定索引的元素对列表/元组进行排序(list/tuple)?我在列表或元组列表中都有一些数据,如下所示:data = [[1,2,3], [4,5,6], [7,8,9]]data = [(1,2,3), (4,5,6), (7,8,9)]我想按子集中的第二个元素排序。意义,按2,5,8进行排序2来自(1,2,3), 5来自(4,5,6)..做这件事的常见方法是什么?我应该将元组或列表存储在列表中吗?
查看完整描述

3 回答

?
30秒到达战场

TA贡献1828条经验 获得超6个赞

sorted_by_second = sorted(data, key=lambda tup: tup[1])

或:

data.sort(key=lambda tup: tup[1])  # sorts in place


查看完整回答
反对 回复 2019-06-06
?
RISEBY

TA贡献1856条经验 获得超5个赞

from operator import itemgetter
data.sort(key=itemgetter(1))


查看完整回答
反对 回复 2019-06-06
?
互换的青春

TA贡献1797条经验 获得超6个赞

我只想添加到Stephen的答案中,如果您想将数组从高到低排序,除了上面的注释之外,另一种方法就是将以下内容添加到行中:

reverse = True

结果如下:

data.sort(key=lambda tup: tup[1], reverse=True)


查看完整回答
反对 回复 2019-06-06
  • 3 回答
  • 0 关注
  • 1229 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信