問題是: 給出一個正整數的排序數組和一個數字'X'。打印出總和等於X的所有數字對。打印出唯一的唯一對,並且對應按照升序排列。從Python中選擇唯一對列表
input is: 1,2,3,4,6;5
output should be : 1,4;2,3
到目前爲止我的代碼:
with open('/tmp/values.txt') as f:
for numbers in f:
num_list,sum_list = [ num.split(",") for num in numbers.rstrip().split(";")]
sum_list = list(map(int,sum_list))
op1 = [(num_list[i],num_list[j]) for i in range(0,len(num_list)) for j in range(0,len(num_list)) if (eval(num_list[i])+eval(num_list[j]) == sum_list[0])]
print (op1)
輸出我得到的是:
[('1', '4'), ('2', '3'), ('3', '2'), ('4', '1')]
任何人都可以,請幫助我的邏輯來選擇( '1', '4')和('2','3')從上面的列表?