📜  Python – 来自两个列表的 K 和

📅  最后修改于: 2022-05-13 01:54:27.529000             🧑  作者: Mango

Python – 来自两个列表的 K 和

有时,在使用Python列表时,我们可能会遇到需要从两个不同列表中获取元素的列表的总和。这种应用程序可以出现在不同的领域,例如 Web 开发。让我们讨论可以执行此任务的某些方式。

方法#1:使用循环
可以使用循环以蛮力方式完成此任务。我们为每个列表运行一个嵌套循环,当我们找到匹配项时,我们使用该对更新结果列表。

# Python3 code to demonstrate 
# K Summation from Two lists
# using loop
  
# Initializing lists
test_list1 = [3, 2, 5]
test_list2 = [4, 3, 6, 8, 7]
  
# printing original lists
print("The original list 1 is : " + str(test_list1))
print("The original list 2 is : " + str(test_list2))
  
# Initializing K 
K = 9
  
# K Summation from Two lists
# using loop
res = []
for idx in test_list1:
    val_req = K - idx
    for j in test_list2:
        if j == val_req:
            x, y = j, idx
            res.append((x, y))
  
# printing result 
print ("Summation pairs among lists : " + str(res))
输出 :
The original list 1 is : [3, 2, 5]
The original list 2 is : [4, 3, 6, 8, 7]
Summation pairs among lists : [(6, 3), (7, 2), (4, 5)]

方法#2:使用列表推导
这是可以执行此任务的另一种方式。在此,我们执行与上述类似的任务。不同的是,这是一个班轮,我们在一行中执行任务。

# Python3 code to demonstrate 
# K Summation from Two lists
# using list comprehension
  
# Initializing lists
test_list1 = [3, 2, 5]
test_list2 = [4, 3, 6, 8, 7]
  
# printing original lists
print("The original list 1 is : " + str(test_list1))
print("The original list 2 is : " + str(test_list2))
  
# Initializing K 
K = 9
  
# K Summation from Two lists
# using list comprehension
res = [(a, b) for a in test_list1 for b in test_list2 if a + b == K]
  
# printing result 
print ("Summation pairs among lists : " + str(res))
输出 :
The original list 1 is : [3, 2, 5]
The original list 2 is : [4, 3, 6, 8, 7]
Summation pairs among lists : [(6, 3), (7, 2), (4, 5)]