تکرار در آرایه ها در Numpy
تکرار آرایه ها یعنی درون آرایه هارا جستجو کنیم و المان به المان آن را بررسی کنیم ما میتوانیم این کار را همانند پایتون با کمک یک حلقه for ساده انجام بدهیم.
درمثال زیر ما یک آرایه تک بعدی را با کمک حلقه for بازنگری کرده ایم :
for x in arr:
print(x)
تکرار در آرایه دوبعدی در Numpy
برای آرایه های دو بعدی اگر بصورت قبلی حلقه for را بنویسم فط به ما اطلاعات ردیف هارا میدهد و نه ستون ها یا همان المان های درون هر دریف.
در مثال زیر ما یک آرایه دو بعدی را پیمایش کردیم و فقط به ما اطلاعات ردیف ها را داد:
for x in arr:
print(x)
اگر بخواهیم به ستون ها یا همان المان های هر ردیف هم دسترسی داشته باشیم باید سراغ حلقه های تو در تو برویم تا جزییات بیشتری بدست بیاوریم اولین حلقه برای ردیف یا y و دومی برای ستون یا x .
در مثال زیر همان آرایه بالایی را اینبار با کمک حلقه های تو در تو پیمایش کرده ایم تا به المان های داخل هر ردیف دسترسی پیدا کنیم:
for x in arr:
for y in x:
print(y)
تکرار در آرایه سه بعدی در Numpy
در آرایه ها سه بعدی همچنان مثل دو بعدی میتوانیم از یک حلقه for ساده استفاده مثل مثال زیر:
for x in arr:
print(x)
و همچنین میتوانیم اگر بخواهیم به جزییات بیشتری دسترسی داشته باشیم از حلقه های تو در تو استفاده کنیم کنیم یک for برای x یکی برای y و یکی برای z استفاده کنیم .
در مثال زیر چنین کاری کرده ایم:
for x in arr:
for y in x:
for z in y:
print(z)
تکرار در آرایه ها با ()nditer در Numpy
تابع ()nditer یک ابزار قدرتمند برای پیمایش راحت تر و قابل دسترسی تر است و نه تنها کار مارا راحت تر کرده است بلکه از بروز مشکلات احتمالی هم جلوگیری میکند.
فرق اصلی این تابع با حلقه for این است که ما برای یک آرایه n بعدی نیاز به n تا حلقه for تو در تو داریم اما این تابع بسته به آرایه که میخواهد در آن پیمایش کند تغییر میکند و نه تنها به کار ما سرعت میبخشد بلکه به ما در خوانا تر بودن کد کمک میکند.
در مثال زیر ما کمک تابع ()nditer یک آرایه سه بعدی را پیمایش کرده ایم:
for x in np.nditer(arr):
print(x)