如何从一个大的元组列表中获得最好的两个元组
How to get best two tuples out of a large list of tuples
我有一个 Python 列表包含很多元组。我想找到最好的 two tuples 这样其中有最好的两个 max range 值。
list_ = [(55, 55), (77, 81), (95, 129)]
所以在这个例子中,我应该能够恢复 (77, 81), (95, 129)
。因为81-77
和129-95
给出了最大范围。
我如何在 Python 中执行此操作?
heapq.nlargest
使用自定义键应该可以解决问题:
from heapq import nlargest
list_ = [(55, 55), (77, 81), (95, 129)]
result = nlargest(2, list_, key = lambda x: x[1] - x[0])
def getMaxTwoTuples(list_):
max_tuple = []
for i in range(2):
max_tuples = [i[0]+ i[1] for i in list_]
m = max(max_tuples)
index = max_tuples.index(m)
max_tuple.append(list_[index])
list_.pop(index)
return max_tuple
我有一个 Python 列表包含很多元组。我想找到最好的 two tuples 这样其中有最好的两个 max range 值。
list_ = [(55, 55), (77, 81), (95, 129)]
所以在这个例子中,我应该能够恢复 (77, 81), (95, 129)
。因为81-77
和129-95
给出了最大范围。
我如何在 Python 中执行此操作?
heapq.nlargest
使用自定义键应该可以解决问题:
from heapq import nlargest
list_ = [(55, 55), (77, 81), (95, 129)]
result = nlargest(2, list_, key = lambda x: x[1] - x[0])
def getMaxTwoTuples(list_):
max_tuple = []
for i in range(2):
max_tuples = [i[0]+ i[1] for i in list_]
m = max(max_tuples)
index = max_tuples.index(m)
max_tuple.append(list_[index])
list_.pop(index)
return max_tuple