Skip to main content
 首页 » 编程设计

python之如何在 Python 中按每个元组的某个索引的整数值对元组列表进行排序

2025年05月04日9xxx_UU

给定一个元组列表,例如

[('a','b','4'),('c','d','9'),('e','f','2')] 

每个元组的第三个元素总是整数的字符串值。

我想使用 csv.writerow() 将每个元组写为 csv 的一行。 在我这样做之前,我想重新排序元组(最好是通过覆盖现有列表或创建一个新列表),以便它们按照每个的第三个元素的整数值的降序写入,例如

c,d,9 
a,b,4 
e,f,2 

我正在尝试在列表理解中想象某种多重 if/else 组合,但肯定会有更简单的方法吗?

请您参考如下方法:

sorted 函数(或 list 方法 sort)采用可选参数 reverse 以允许您进行排序按降序排列,key 允许您指定排序依据。

l = [('a','b','4'),('c','d','9'),('e','f','2')] 
l.sort(key=lambda x: int(x[2]), reverse=True) 

按照您想要的顺序为您提供列表。