📜  Python – 列表中连续对的乘积

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

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]