gpt4 book ai didi

python - 从元组列表中获取其元素之间差异最大的元组

转载 作者:行者123 更新时间:2023-11-28 19:41:34 26 4
gpt4 key购买 nike

假设我有一个元组列表,例如:

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)

最佳答案

您可以使用列表对象的 index 方法和 max 函数。即,

>>> listTuples = [(0, 3), (5, 10), (2, 4)]
>>> listTuples.index(max(listTuples, key=lambda x: x[1] - x[0]))
1

此处 max(listTuples, key=lambda x: x[1] - x[0]) 将返回具有最大差异的元组,index 方法将找到这个元组在原始列表中的索引。

listTuples.index((5, 10))

关于python - 从元组列表中获取其元素之间差异最大的元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57076519/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com