让我们考虑一些列表:
arr = [2, 4, 6, 8, 10]
我需要将列表的每个元素除以它的第一个元素。它可以通过列表理解来完成:
[e / arr[0] for e in arr]
但我必须为此使用一些函数式编程
map
:
>>> arr = [2, 4, 6, 8, 10]
>>> list(map(lambda x: x/arr[0],arr))
[1.0, 2.0, 3.0, 4.0, 5.0]
或者作为一个函数:
>>> def f(x):
return x/arr[0]
>>> list(map(f,arr))
[1.0, 2.0, 3.0, 4.0, 5.0]
>>>
或者使用 numpy:
>>> import numpy as np
>>> arr2=np.array(arr)
>>> arr2/arr[0]
array([ 1., 2., 3., 4., 5.])
>>>
如果你想列出:
>>> import numpy as np
>>> arr2=np.array(arr)
>>> (arr2/arr[0]).tolist()
[1.0, 2.0, 3.0, 4.0, 5.0]
>>>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句