Slicing

به یک برش(slice) از کیک فکر کنید! یک slice زیر مجموعه ای از یک رشته یا دیتافریم هست(اگر اونا رو کیک فرض کنیم). slice میتونه تنها یک المان یا یک کاراکتر هم باشه اما معمولا زمانی از slice کردن (Slicing) استفاده میکنیم که بخوایم داده ها یا کاراکترهای همسایه( کنار هم یا adjoining ) رو استخراج کنیم.

فرض کنید که بخوایم حروف 5ام تا 11ام یک رشته را استخراج کنیم، باید از کاراکترهای شماره 4 تا شماره ی 10 را index کنیم. برای این کار از علامت : (دو نقطه یا colon) استفاده میکنیم. برای این کار پس از نام متغیر [4:10] را قرار میدهیم. به عدد 4 باند پایین و به عدد 10 باند بالا گفته می شود. اگر این کار را بر روی یک رشته انجام دهید متوجه می شوید که تنها کاراکتر های 5ام تا 10 ام را انتخاب کرده اید. علت این مسئله این است که باند پایینی شروع Slicing را مشخص میکند و در دسته داده ی جدید نمایش داده می شود و باند بالایی پایان Slicing را مشخص می کند و در دسته داده نمایش داده نمی شود. پس باید [4:10] را به شکل [4:11] بنویسیم.

به نمونه کد های زیر دقت کنید تا روش استفاده از Slicing را بیاموزید:

ابتدا یک متغیر طولانی تر تعریف میکنیم:

destination = 'San Francisco'

حالا کدهای زیر را به همراه خروجی آنها ببینید :

destination[4:11]

خروجی این کد برابر است با:

'Francis'

destination[0:3]

خروجی این کد برابر است با:

' San'


اگر بخواهیم از ابتدا تا یک index را انتخاب کنیم، میتوانیم باند پایینی را خالی بگذاریم.

همین مسئله برای از یک index تا انتهای یک رشته هم صدق می کند، با این تفاوت که به جای باند پایینی باید باند بالا را خالی بگذاریم.


destination[:8]

خروجی این کد برابر است با:

' San Fran'

destination[-3:]

خروجی این کد برابر است با:

' sco'

که نشانگر کاراکتر 3 تا مانده به آخر تا آخر است.