查找列表中的数字对,最多可添加10个

use*_*646 0 python

给定一个数字列表,我想找到所有数字对,加起来为10.

如何在Python中编写一个函数来执行此操作?

Pet*_*nov 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)
Run Code Online (Sandbox Code Playgroud)