使用python对列表进行排序

迪安·拉吉(Deepan Raj)

我有清单

value =[(22, 11, 195, 37), (19, 11, 184, 45), (300, 17, 12, 19), (210, 18, 128, 30) (100, 18, 128, 30)]

现在,我需要按照升序列表中的前两个值对列表进行排序。

像这样

s = [(19, 11, 184, 45), (22, 11, 195, 37), (300, 17, 12, 19),(100, 18, 128, 30), (210, 18, 128, 30) ]

我用了

s = sorted(value, key = lambda x: (x[1], x[0]))

我最终像这样对列表的第二(x [1])值进行了排序,

s = [(22, 11, 195, 37), (19, 11, 184, 45), (300, 17, 12, 19), (210, 18, 128, 30) (100, 18, 128, 30)]

有什么方法吗?我也尝试过使用运算符库,它给我相同的结果。

内纳德

好吧,经过很多摆弄,我想我做到了。这是我的代码:

sorted(s, key=lambda x: (x[1] * 1, x[0]))

输出为:

[(19, 11, 184, 45), (22, 11, 195, 37), (300, 17, 12, 19), (100, 18, 128, 30), (210, 18, 128, 30)]

基本上,这是按照索引1对元组进行排序,但是如果两个或多个元组在索引1上具有相同的编号,它将检查其索引0的编号并对其进行升序排序。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章