我正在尝试创建一个带有数字列表和数字b的函数,并将打印列表中所有值对的索引,总和为b。到目前为止,我的代码包括列表操作
{{ civilite }} {{ nom }} {{ prenom }}?
它应该像这样运行
def pairSum(a,b):
for i in a:
for j in a:
if i+j==b:
请注意,它返回列表中值的位置而不是实际数字,这是我无法解决的问题。
答案 0 :(得分:1)
使用enumerate
for i, x in enumerate(a): #i is index of x
for j, y in enumerate(a[i+1:], start=i+1): #j is index of y
if x+y == b:
print(i, j)
a[i+1:]
是为了防止重复并阻止将值添加到自身。
文档:https://docs.python.org/3/library/functions.html#enumerate