如何从一个大的元组列表中获得最好的两个元组

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-77129-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