创建对列表python

2024-06-01 00:28:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经构建了以下代码:

def pairs(num_list, n):
    list1 = []
    for num1 in num_list:
        for num2 in num_list:
            if num1 + num2 == n:
                list1.append([num1, num2])
    return(list1)

print(pairs([2,3,4,5],7))

输出为:

[[2, 5], [3, 4], [4, 3], [5, 2]]

但我只需要不重复的对来显示 例如。[[2,5],[3,4]](不管是哪一对)

我想我需要更有效地浏览这些数字,就像这样: 第一个循环通过2。第二个循环将其与3、4、5(不带2)进行比较 然后第一个循环通过3。第二个循环通过4,5(没有2或3)等等。我怎么能用代码做到这一点?


Tags: 代码inforreturnifdef数字num