از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
Python: Slice Notation روی فهرست کنید
سرفصلهای مطلب
معرفی
اصطلاح slicing در برنامه نویسی معمولاً به بدست آوردن یک زیر رشته، زیرشاخه یا فهرست فرعی از یک رشته، تاپل یا لیست اشاره دارد.
پایتون مجموعه ای از راه های ساده را برای برش نه تنها این سه، بلکه ارائه می دهد هر تکراری. یک قابل تکرار همانطور که از نام آن پیداست، هر شیئی است که بتوان آن را تکرار کرد.
در این مقاله، همه چیزهایی که باید در مورد آن بدانید را مرور خواهیم کرد برش لیست ها در پایتون.
برش یک لیست در پایتون
چند راه برای برش یک لیست وجود دارد که رایج ترین آنها استفاده از آن است :
عملگر با نحو زیر:
a_list(start:end)
a_list(start:end:step)
این start
پارامتر نمایانگر شاخص شروع است، end
شاخص پایانی است و step
تعداد اقلامی است که “پله” شده اند.
اگر step
به صراحت داده نشده است، مقدار پیش فرض است 1
. توجه داشته باشید که آیتم با شاخص start
در فهرست فرعی به دست آمده، اما مورد با نمایه قرار خواهد گرفت end
نخواهد بود اولین عنصر یک لیست دارای شاخص است 0
.
مثال بدون step
پارامتر:
a_list = ('May', 'the', 'Force', 'be', 'with', 'you.')
sublist = a_list(1:3)
print(sublist)
این باید print:
('the', 'Force')
برای رد کردن هر کلمه دیگری، تنظیم کنید step
به 2
:
a_list = ('The', 'Force', 'will', 'be', 'with', 'you.', 'Always.')
sublist = a_list(1:8:2)
print(sublist)
خروجی:
('Force', 'be', 'you.')
اگر step
لیست نشده است، فهرست فرعی از ابتدا شروع می شود. به همین ترتیب، اگر end
لیست نشده است، فهرست فرعی در انتهای لیست اصلی به پایان می رسد:
a_list = ('Do.', 'Or', 'do', 'not.', 'There', 'is', 'no', 'try.')
sublist = a_list(:4)
print(sublist)
sublist = a_list(4:)
print(sublist)
آن قطعه کد چاپ می شود:
('Do.', 'Or', 'do', 'not.')
('There', 'is', 'no', 'try.')
یافتن سر و دم فهرست با علامت گذاری برش
نماد slice را می توان با نمایه سازی منفی نیز استفاده کرد. نمایه سازی منفی مانند نمایه سازی معمولی عمل می کند، به استثنای این واقعیت که نمایه سازی را از آخرین عنصری که دارای شاخص است شروع می کند. -1
.
این می تواند برای به دست آوردن سر و دم یک لیست با طول مشخص استفاده شود. سر یک لیست یک لیست فرعی است که شامل اولین لیست است n
عناصر یک لیست، و دم یک زیر لیست است که حاوی آخرین است n
عناصر.
بیایید جلوتر برویم و یک دم و یک لیست را از هم جدا کنیم:
n = 2
a_list = ('Never', 'tell', 'me', 'the', 'odds!')
sublist = a_list(:n)
print(sublist)
sublist = a_list(-n:)
print(sublist)
این خروجی:
('Never', 'tell')
('the', 'odds!')
استفاده از Slice Notation برای معکوس کردن یک لیست
حتی step
پارامتر می تواند منفی باشد. اگر آن را روی یک مقدار منفی تنظیم کنیم، لیست به دست آمده معکوس خواهد شد، با step
ارزش. به جای گام برداشتن به جلو، از انتهای لیست تا شروع به عقب برمیگردیم و این عناصر را شامل میشویم:
a_list = ('Power!', 'Unlimited', 'power!')
sublist = a_list(::-1)
print(sublist)
این نتیجه در:
('power!', 'Unlimited', 'Power!')
جایگزینی عناصر یک فهرست فرعی با Slice Notation
نماد slice را می توان برای اختصاص مقادیر جدید به عناصر یک فهرست فرعی خاص استفاده کرد. برای مثال، اجازه دهید دم و سر یک لیست را جایگزین کنید:
a_list = ('I', 'am', 'no', 'Jedi.')
print(a_list)
a_list(:1) = ('You', 'are')
print(a_list)
a_list(-1:) = ('Sith')
print(a_list)
خروجی مورد انتظار عبارت است از:
('I', 'am', 'no', 'Jedi.')
('You', 'are', 'no', 'Jedi.')
('You', 'are', 'no', 'Sith')
جایگزینی هر n-امین عنصر یک لیست با Slice Notation
یک راه آسان برای جایگزینی هر n-امین عنصر لیست، تنظیم کردن است step
پارامتر به n
در نماد برش:
a_list = ('I’m', 'just', 'a', 'simple', 'man', 'trying', 'to', 'make', 'my', 'way', 'in', 'the', 'universe.')
print(a_list)
a_list(1::2) = ('only', 'common', 'attempting','do', 'best','the')
print(a_list)
این نتیجه در:
('I’m', 'just', 'a', 'simple', 'man', 'trying', 'to', 'make', 'my', 'way', 'in', 'the', 'universe.')
('just', 'simple', 'trying', 'make', 'way', 'the')
('I’m', 'only', 'a', 'common', 'man', 'attempting', 'to', 'do', 'my', 'best', 'in', 'the', 'universe.')
نتیجه
برش هر دنباله در پایتون آسان، ساده و شهودی است. نمایه سازی منفی راه آسانی برای به دست آوردن اولین یا آخرین عناصر یک دنباله یا معکوس کردن ترتیب آن ارائه می دهد.
در این مقاله روش استفاده از Slice Notation را توضیح داده ایم روی لیست ها در پایتون
(برچسبها به ترجمه)# python
منتشر شده در 1403-01-15 18:44:03