def adjacentElementsProduct(l):
for x,y in zip(l,l[1:]):
c=x*y
print(adjacentElementsProduct([2,5,10,5,2]))
如何添加可以打印来自c = x * y过程的最大数字的方法
示例: - 我的列表[2,5,10,5,2]
下面的代码,好吧
for x,y in zip (l,l[1:]):
c=x*y
比较两个相邻的数字并执行乘法过程
如何制作方法来打印并保存此过程中最大的数字?
答案 0 :(得分:1)
这是一种方式。
def adjacentElementsProduct(l):
for x, y in zip(l,l[1:]):
yield x*y
print(max(adjacentElementsProduct([2,5,10,5,2])))
# 50
这可以更简洁地编写,无需定义函数:
lst = [2,5,10,5,2]
print(max(x*y for x, y in zip(lst, lst[1:])))
<强>解释强>
return
或yield
值。在这种情况下,如果您在函数外部调用yield
,则max
是合适的。矢量化方法
您也可以使用numpy
:
import numpy as np
x = np.array([2,5,10,5,2])
(x[:-1]*x[1:]).max()
# 50