list=sorted(list1 , key=lambda x:float(x[1][:-1])*1000 if x[1][-1]=='t' else float(x[1][:-2]))
时间: 2023-12-24 16:04:23 浏览: 89
Python 列表 sort() 方法
这是一个使用 lambda 表达式的排序方法。它将列表 list1 中的元素按照第二个元素进行排序,第二个元素是一个字符串,可能以 't' 结尾,表示千(1,000)的数量级,也可能以 'k' 结尾,表示百万(1,000,000)的数量级。如果第二个元素以 't' 结尾,那么将这个元素的数值乘以 1000,否则直接将这个元素的数值转换成浮点数。然后,根据这个数值进行排序,从小到大排列。
例如,如果 list1 包含以下元素:
```
list1 = [('A', '3.2t'), ('B', '100.5k'), ('C', '2.3k'), ('D', '7.8t')]
```
那么经过这个排序方法之后,list 的值为:
```
[('C', '2.3k'), ('B', '100.5k'), ('A', '3.2t'), ('D', '7.8t')]
```
可以看到,元素按照数值从小到大排列,其中 '2.3k' 的数值最小,'7.8t' 的数值最大。
阅读全文