در بسیاری از موارد جهت آنالیز و تحلیل دادهها باید به استخراج بخشهای مختلف یک آرایه پرداخت تا بتوان با توجه به ویژگیهای آن بخش نتیجه مناسبی به دست آورد. در این آموزش، شما را با نحوه استخراج عناصر یک آرایه یک بعدی و دو بعدی آشنا خواهیم کرد که با اطلاعات این آموزش میتوانید این موضوع را برای آرایههایی با ابعاد بالاتر نیز استفاده کنید.
نحوه استخراج عناصر آرایه
استخراج بخشی از آرایه در پایتون به معنای انتخاب تعدادی از عناصر داخل یک آرایه است. تعداد عناصر انتخاب شده از یک آرایه به نحوه تعریف اندیسها یا انتخاب اندیسها در آرایه بستگی دارد و از یک اندیس شروع و تا اندیس دیگر که توسط کاربر مشخص میشود، ادامه پیدا میکند.
برای انتخاب بخشی از آرایه باید دستوری به صورت [end:start] نوشت به طوریکه منظور از «start»، اندیسی از آرایه است که میخواهیم مقدار اول آرایه جدید از آن شروع شود. مقدار «end» نیز مشخص کننده پیمایش بر روی آرایه است؛ بنابراین از مقدار «end» جهت تعیین طول آرایه جدید استفاده میشود. بطوریکه مقدار «end» هر عددی در نظر گرفته شود، پیمایش از اندیس نشان داده شده در «start» آغاز و تا اندیس «end» ادامه خواهد داشت. همچنین میتوان برای انتخاب اندیسها یک گام نیز تعریف کرد به طوریکه از مقدار ابتدایی شروع شود و با یک گام مشخص به مقدار طول مورد نظر برسد که میتوان به صورت [start:end:step] تعریف کرد.
اگر مقدار «start» تعریف نشود به صورت پیش فرض، شروع برش از اندیس صفر آرایه در نظر گرفته میشود. اگر مقدار «end» انتخاب نشود، تا انتهای آرایه اولیه عناصر را استخراج و در متغیر جدید قرار میدهد. در نهایت اگر «step» انتخاب نشود به صورت پیش فرض 1 در نظر گرفته میشود.
به طور مثال اگر بخواهیم در یک آرایه، عناصر 2 تا 5 را استخراج کنیم میتوان به صورت مثال مشخص شده در تصویر شکل شماره1 اقدام کرد. همانطور که در این شکل مشاهده میکنید ابتدا یک آرایه به نام x با 8 مقدار دلخواه تعریف شده است. سپس به کمک شماره اندیسها، عناصر مورد نظر از آرایه x استخراج و در آرایه y ذخیره شده است. توجه داشته باشید با توجه به اینکه در آرایهها، عنصر اول دارای اندیس صفر است برای استخراج عناصر 2 تا 5 باید مقدار «start» را 1 و مقدار «end» را با توجه به اینکه طول آرایه مدنظر 4 است و مقدار شروع 1 انتخاب شده است، 5 در نظر گرفته میشود. برای استخراج عناصر 3 تا 4 آرایه اولیه باید مقدار «start» را 2 و مقدار «end» را 4 در نظر گرفت.
شکل1) استخراج بخشی از آرایه
در صورتیکه مقدار گام نیز انتخاب شود، با توجه به اندیس اولیه مقادیر آرایه اولیه با گام مشخص شده در آرایه جدید قرار داده میشوند. برای درک بهتر این موضوع میتوانید به مثال ذکر شده در شکل 2 توجه کنید. در این مثال مقدار «start» برابر 1، مقدار «end» برابر 7 و «step» نیز 2 در نظر گرفته شده است. بنابراین آرایه جدید از عنصر دوم آرایه اولیه شروع و با گام 2 پیش میرود و با توجه به اینکه مقدار نهایی 7 است، تنها عناصر دوم، چهارم و ششم انتخاب میشوند.
علاوه بر این، در صورتیکه مقادیر «start» و «end» انتخاب نشود، خروجیهای متناظر به صورت نشان داده شده در شکل 2 خواهد بود. در صورتیکه مقدار «end» انتخاب نشود، کلیه عناصرآرایه اولیه از مقدار در نظر گرفته شده برای اندیس «start» تا انتهای آرایه انتخاب میشوند. در صورتیکه مقدار «start» انتخاب نشود، به صورت پیش فرض از اندیس صفر شروع میشود و تا اندیس «end» عناصر آرایه اولیه را استخراج خواهد کرد.
شکل 2) استخراج بخشی از آرایه با گام مشخص و یکی از اندیسهای شروع یا پایان
استخراج عناصر آرایه با اندیسهای منفی
جهت استخراج عناصر یک آرایه میتوان از اندیسهای منفی نیز استفاده کرد، به طوریکه عنصر آخر یکی آرایه دارای اندیس 1- است و به همین ترتیب عناصر بعدی به سمت عنصر اول دارای اندیسهای 2-، 3- و … هستند. شکل 3 نحوه استخراج عناصر یک آرایه با اندیس منفی را نشان میدهد در این مثال، اندیس اول 4- و اندیس آخر 1- است. بنابراین آرایه جدید از عنصر متناظر با اندیس 4- شروع میشود و تا عنصر ماقبل آخر ادامه خواهد داشت. در صورتیکه مقادیر «start» و «end» انتخاب نشود خروجیهای مطابق شکل 3 ظاهر خواهند شد. همانطور که از خروجیهای این دستورها مشخص است، در صورتیکه «start» انتخاب نشود از ابتدای آرایه، استخراج عناصر آغاز میشود و در صورتیکه «end» نیز تعریف نشود، استخراج عناصر تا انتهای آرایه ادامه خواهد داشت.
شکل3) نحوه استخراج عناصر آرایه با اندیسهای منفی
استخراج بخشی از آرایه دو بعدی
برای استخراج عناصر آرایههای دو بعدی هم میتوانید مانند آنچه در مورد آرایههای تک بعدی گفته شد عمل کنید با این تفاوت که در آرایههای دو بعدی باید ابتدا سطر یا سطرهای مورد نظر را انتخاب و سپس ستون مورد نظر را مشخص کنید. به طور مثال در شکل4 یک آرایه دو بعدی با ابعاد 5×2 انتخاب شده است که متغیر y نشان میدهد که سطر اول (اندیس صفر به معنی سطر اول است) مدنظر است و در قسمت ستون هم اندیسهای 2 تا 4 در نظر گرفته شده است که به منزله ستونهای سوم تا چهارم است. در متغیر z در قسمت مرتبط با سطر از علامت : استفاده شده است که به معنی کلیه سطرها بوده و در قسمت ستون به ستونهایی با اندیس 2 تا 4 اشاره شده است که به منزله ستونهای سوم تا چهارم است. در متغیر w نیز سطر با اندیس 1 که به معنی سطر دوم است انتخاب شده است و در قسمت ستون نیز از علامت : استفاده شده است که به معنی همه ستونهای سطر دوم است. در تعریف متغیر s نیز در قسمت سطر و ستون علامت : استفاده شده است که به معنی انتخاب کلیه سطرها و ستونهای متغیر x است. بنابراین خروجی متغیر s دقیقاً برابر متغیر x است.
شکل4) نحوه استخراج عناصر یک آرایه دو بعدی
دیدگاه ها