Python – 列表中的立方体产品
Python作为魔术师的语言,可用于以简单简洁的方式执行许多繁琐和重复的任务,并且拥有充分利用该工具的知识总是有用的。一个这样的小应用程序可以在一行中找到列表立方体的乘积。让我们讨论可以执行此操作的某些方式。
方法 #1:使用reduce()
+ lambda
lambda 函数在一行中执行冗长任务的强大功能,允许它与用于累积子问题的 reduce 结合来执行此任务。仅适用于Python 2。
# Python code to demonstrate
# Cubes Product in list
# using reduce() + lambda
# initializing list
test_list = [3, 5, 7, 9, 11]
# printing original list
print ("The original list is : " + str(test_list))
# using reduce() + lambda
# Cubes Product in list
res = reduce(lambda i, j: i * j*j * j, [test_list[:1][0]**3]+test_list[1:])
# printing result
print ("The product of cubes of list is : " + str(res))
输出 :
The original list is : [3, 5, 7, 9, 11]
The product of cubes of list is : 1123242379875
方法 #2:使用map()
+ 循环
类似的解也可以使用 map函数进行积分和外部乘积函数执行立方数的乘积。
# Python3 code to demonstrate
# Cubes Product in list
# using loop + max()
# getting Product
def prod(val) :
res = 1
for ele in val:
res *= ele
return res
# initializing list
test_list = [3, 5, 7, 9, 11]
# printing original list
print ("The original list is : " + str(test_list))
# using loop + max()
# Cubes Product in list
res = prod(map(lambda i : i * i * i, test_list))
# printing result
print ("The product of cubes of list is : " + str(res))
输出 :
The original list is : [3, 5, 7, 9, 11]
The product of cubes of list is : 1123242379875