के अंदर एक NumPy सरणी स्लाइसिंग मुझे (के लिए) loops के भीतर 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]])
यह देखा जा सकता है कि पहला परिणाम दूसरे और तीसरे से अलग है।
संबंधित प्रश्न, उम्मीद है कि यह मदद करता है http://stackoverflow.com/questions/15376509/when-is-i-x-different-from-i-i-x-in-python/15376520#15376520 – Thiru