📜  Python|将列表中的备用元素相乘

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

Python|将列表中的备用元素相乘

获取列表乘积的问题非常普遍,我们可能有一天会面临获取替代元素乘积的问题,并获取包含替代元素乘积的 2 个元素的列表。让我们讨论可以执行此操作的某些方式。

方法 #1:使用列表理解 + 列表切片 + 循环
与列表理解结合的列表切片可用于执行此特定任务。我们可以让列表理解来运行逻辑,列表切片可以通过外部 prod函数切出替代字符,产品。

# Python3 code to demonstrate
# Multiplying Alternate elements in List
# using list comprehension + list slicing
  
# getting Product 
def prod(val) : 
    res = 1 
    for ele in val: 
        res *= ele 
    return res  
  
# initializing list 
test_list = [2, 1, 5, 6, 8, 10]
  
# printing original list 
print("The original list : " + str(test_list))
  
# using list comprehension + list slicing
# Multiplying Alternate elements in List
res = [prod(test_list[i : : 2]) for i in range(len(test_list) // (len(test_list)//2))]
  
# print result
print("The alternate elements product list : " + str(res))
输出 :
The original list : [2, 1, 5, 6, 8, 10]
The alternate elements product list : [80, 60]

方法#2:使用循环
这是执行此特定任务的粗略方法,其中我们在不同元素索引中获得交替元素的乘积,然后返回输出列表。

# Python3 code to demonstrate
# Multiplying Alternate elements in List
# using loop
  
# initializing list 
test_list = [2, 1, 5, 6, 8, 10]
  
# printing original list 
print("The original list : " + str(test_list))
  
# using loop
# Multiplying Alternate elements in List
res = [1, 1]
for i in range(0, len(test_list)):
    if(i % 2):
        res[1] *= test_list[i]
    else :
        res[0] *= test_list[i]
  
# print result
print("The alternate elements product list : " + str(res))
输出 :
The original list : [2, 1, 5, 6, 8, 10]
The alternate elements product list : [80, 60]