如标题所述,我需要找到列表中整数的差值 2,并且必须返回一个包含元组的列表。
initial_list = [1, 2, 3, 4]
expected_output = [(1, 3), (2, 4)]
我写了这段代码:
arr = [1, 2, 3, 4]
n = 2
arr1 = []
for i in range(len(arr)):
x = i + n
if x in arr:
arr1.append(x)
print(arr1)
但是没有用... 你能帮我吗? 谢谢
最佳答案
如果将初始列表设为一个集合,则可以有效地测试 n+2
是否在每个 n 的集合中,如果是,则包含元组:
initial_list = [1, 2, 3, 4]
s = set(initial_list)
[(n, n+2) for n in initial_list if n + 2 in s ]
# [(1, 3), (2, 4)]
关于python - 返回给定整数列表中相差为 2 的所有整数对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61062583/