Python – 列表中连续对的乘积
有时,在使用Python列表时,可能会遇到一个问题,即需要查找以对形式执行列表的乘积。这对于 Web 开发和日常编程中更大问题的子问题解决方案很有用。让我们讨论一些可以解决这个问题的方法。
方法#1:使用循环
这是执行此特定任务的蛮力方法。在这种情况下,我们只是以跳过的方式迭代列表直到最后一个元素,以迭代方式获取其他列表中的所有对产品。
# Python3 code to demonstrate working of
# List consecutive pair Product
# Using loop
# initializing list
test_list = [5, 8, 3, 5, 9, 10]
# printing list
print("The original list : " + str(test_list))
# List consecutive pair Product
# Using loop
res = []
for ele in range(0, len(test_list), 2):
res.append(test_list[ele] * test_list[ele + 1])
# Printing result
print("Pair product of list : " + str(res))
输出 :
The original list : [5, 8, 3, 5, 9, 10]
Pair product of list : [40, 15, 90]
方法 #2:使用zip()
+ 列表理解
也可以使用上述功能的组合来执行此任务。在此,我们只是迭代列表,组合对的任务由 zip() 执行。仅适用于 Python2。
# Python code to demonstrate working of
# List consecutive pair Product
# Using zip() + list comprehension
# initializing list
test_list = [5, 8, 3, 5, 9, 10]
# printing list
print("The original list : " + str(test_list))
# List consecutive pair Product
# zip() + list comprehension
res = [i * j for i, j in zip(test_list, test_list[1:])[::2]]
# Printing result
print("Pair product of list : " + str(res))
输出 :
The original list : [5, 8, 3, 5, 9, 10]
Pair product of list : [40, 15, 90]