Python – 将所有交叉列表元素对相乘
有时,在使用Python列表时,我们可能会遇到需要将列表的每个元素与其他列表相乘的问题。这可以在 Web 开发和日常编程中都有应用。让我们讨论可以执行此任务的某些方式。
方法#1:使用列表推导
这是执行此任务的最直接的方法。在此,我们迭代两个列表并执行每个元素与其他元素的乘法并将结果存储在新列表中。
# Python3 code to demonstrate
# Multiply all cross list element pairs
# using list comprehension
# Initializing lists
test_list1 = [4, 5, 6]
test_list2 = [6, 4, 2]
# printing original lists
print("The original list 1 is : " + str(test_list1))
print("The original list 2 is : " + str(test_list2))
# Multiply all cross list element pairs
# using list comprehension
res = [i * j for j in test_list1 for i in test_list2]
# printing result
print ("The multiplication list is : " + str(res))
输出 :
The original list 1 is : [4, 5, 6]
The original list 2 is : [6, 4, 2]
The multiplication list is : [24, 16, 8, 30, 20, 10, 36, 24, 12]
方法 #2:使用product()
这是可以执行此任务的另一种方式。在此,我们使用 product() 执行乘法任务。
# Python3 code to demonstrate
# Multiply all cross list element pairs
# using product()
from itertools import product
# Initializing lists
test_list1 = [4, 5, 6]
test_list2 = [6, 4, 2]
# printing original lists
print("The original list 1 is : " + str(test_list1))
print("The original list 2 is : " + str(test_list2))
# Multiply all cross list element pairs
# using product()
res = [a * b for a, b in product(test_list1, test_list2)]
# printing result
print ("The multiplication list is : " + str(res))
输出 :
The original list 1 is : [4, 5, 6]
The original list 2 is : [6, 4, 2]
The multiplication list is : [24, 16, 8, 30, 20, 10, 36, 24, 12]