【发布时间】:2016-07-03 12:32:21
【问题描述】:
我需要一个很好的解释(参考)来解释(for)循环中的 NumPy 切片。我有三个案例。
def example1(array):
for row in array:
row = row + 1
return array
def example2(array):
for row in array:
row += 1
return array
def example3(array):
for row in array:
row[:] = row + 1
return array
一个简单的案例:
ex1 = np.arange(9).reshape(3, 3)
ex2 = ex1.copy()
ex3 = ex1.copy()
返回:
>>> example1(ex1)
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
>>> example2(ex2)
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
>>> example3(ex3)
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
可以看出,第一个结果与第二个和第三个不同。
【问题讨论】:
-
相关问题,希望对您有所帮助stackoverflow.com/questions/15376509/…