Ich brauche eine gute Erklärung (Referenz), um NumPy Slicing innerhalb (für) Schleifen zu erklären. Ich habe drei Fälle.Slicing ein NumPy Array innerhalb einer Schleife
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
Ein einfacher Fall:
ex1 = np.arange(9).reshape(3, 3)
ex2 = ex1.copy()
ex3 = ex1.copy()
Rückkehr:
>>> 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]])
Es kann, dass das erste Ergebnis unterscheidet sich von der zweiten und dritten gesehen werden.
Verwandte Frage, hoffe das hilft http://stackoverflow.com/questions/15376509/when-is-i-x-different-from-i-i-x-in-python/15376520#15376520 – Thiru