繁体   English   中英

如何对具有混合类型元素的元组列表进行反向排序?

[英]How to sort a list of tuples having mixed type elements in reverse order?

我有:

a = [(3.13, ['a', 'b', 'c']), (6.25, ['d', 'e', 'f']), (12.5, ['g', 'h', 'i'])]

但是当我打印出来时,我得到:

for i in a:
    print(i[0])

输出:

3.13
6.25
12.5

我要实现的目标如下:

输出:

12.5
6.25
3.13

我试过了 :

for i in sorted(a, key = lambda x: x[0]):
    print(i[0])

但我对输出没有任何影响>我正在尝试订购我的元组列表。

您可以简单地添加reverse=True来颠倒排序顺序:

a = [(3.13, ['a', 'b', 'c']), (6.25, ['d', 'e', 'f']), (12.5, ['g', 'h', 'i'])]

for i in sorted(a, key=lambda x: x[0], reverse=True):
    print(i[0])

输出:

 12.5 6.25 3.13 

您可以一起省略key参数,因为这是默认行为,但是在我看来,更清晰地明确我们用作排序键的内容。

这个怎么样?

a = [(3.13, ['a', 'b', 'c']), (6.25, ['d', 'e', 'f']), (12.5, ['g', 'h', 'i'])]
x = len(a) - 1
counter = 0
for i in a:
    y = x-counter
    print(a[y][0])
    counter +=1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM