假设我有一个元组列表,比如:
listTuples = [(0, 3), (5, 10), (2, 4)]
我想得到元组元素之间差异最大的元组的索引
3 - 0 = 3
10 - 5 = 5
4 - 2 = 2
所以我想要1作为回报。你知道吗
目前,我正在做以下工作,但也许有更好的方法(更快,更少的代码行)来做到这一点。你知道吗
listTuples = [(0, 3), (5, 10), (2, 4)]
k = 0
e = 0
for j, i in enumerate(listTuples):
diff = i[1] - i[0]
if k < diff:
k = diff
e = j
else:
pass
print(e)
我建议使用
max()
函数:可以将list对象的
index
方法与max
函数一起使用。伊恩这里
max(listTuples, key=lambda x: x[1] - x[0])
将返回一个具有最大差异的元组,index
方法将从原始列表中找到这个元组的索引。你知道吗例如,
listTuples.index((5, 10))
对自定义键使用
max()
:相关问题 更多 >
编程相关推荐