雖然與numpy
熟悉我自己,我注意到numpy
陣列一個有趣的現象:調用拉姆達與numpy的陣列
import numpy as np
arr = np.array([1, 2, 3])
scale = lambda x: x * 3
scale(arr) # Gives array([3, 6, 9])
對比這與正常的Python列表:
arr = [1, 2, 3]
scale = lambda x: x * 3
scale(arr) # Gives [1, 2, 3, 1, 2, 3, 1, 2, 3]
我很好奇至於如何這是可能的。 numpy
數組是否會覆蓋乘法運算符或什麼?
這與'lambda'無關......無論如何,'numpy'數組會覆蓋大多數運算符來執行* vectorized *操作。這是'numpy'的主要功能之一... –
請參閱https://docs.scipy.org/doc/numpy-dev/user/quickstart.html#basic-operations –