给出一个数字列表,我想找到所有数字对,加起来为10。
如何在Python中编写一个函数来执行此操作?
答案 0 :(得分:5)
只需将10中的差异存储在一个集合中:
def find(arr, total):
d = set()
for e in arr:
if e in d:
print total-e, e
break
d.add(total-e)
s = [1,5,3,10,11,7,2]
find(s, 10)
答案 1 :(得分:3)
l = [1, 3, 4, 5, 6, 7, 8, 9]
[(x,y) for x in l for y in l if x+y==10]