我有一个List[Tuple[str,float]], 我需要找出其中float最大的10个str,给出python的代码实现
时间: 2023-12-19 09:04:36 浏览: 34
Python将string转换到float的实例方法
5星 · 资源好评率100%
可以使用Python的内置函数`sorted`来排序列表,并使用`lambda`表达式指定根据元组中的浮点数进行排序。然后,我们可以使用切片操作来获取前10个元素。以下是实现的代码示例:
```python
data = [('a', 1.2), ('b', 3.4), ('c', 2.1), ('d', 4.5), ('e', 0.8)]
sorted_data = sorted(data, key=lambda x: x[1], reverse=True)
top_10_str = [item[0] for item in sorted_data[:10]]
print(top_10_str)
```
输出结果为:
```
['d', 'b', 'c', 'a', 'e']
```
以上代码首先使用`sorted`函数对列表进行排序,`key=lambda x: x[1]`表示按照元组中的浮点数(即第二个元素)进行排序,`reverse=True`表示降序排序。然后,使用列表推导式从排序后的列表中取出前10个元素的第一个元素(即字符串)。最后,打印出最大的10个字符串。
阅读全文