Pyd*_*man 1 python tuples list-comprehension list python-2.7
给出一个元组列表,例如
[('a','b','4'),('c','d','9'),('e','f','2')]
Run Code Online (Sandbox Code Playgroud)
每个元组的第三个元素将始终是整数的字符串值.
我想把每个元组写成一行csv使用csv.writerow().在我这样做之前,我想重新排序元组(理想情况下,通过覆盖现有列表或创建一个新元组),使得它们按照每个元素的第三个元素的整数值的降序编写.
c,d,9
a,b,4
e,f,2
Run Code Online (Sandbox Code Playgroud)
我试图在列表理解中想象某种多样的if/else组合,但肯定会有更简单的方法吗?
小智 8
该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)
Run Code Online (Sandbox Code Playgroud)
按顺序为您提供所需的列表.