وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

Python: Slice Notation روی فهرست کنید

0 9
زمان لازم برای مطالعه: 3 دقیقه


معرفی

اصطلاح 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 عناصر.

پیشنهاد می‌کنیم بخوانید:  Git را با جزئیات بیاموزید تا کد خود را مدیریت کنید

بیایید جلوتر برویم و یک دم و یک لیست را از هم جدا کنیم:


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.')

نتیجه

برش هر دنباله در پایتون آسان، ساده و شهودی است. نمایه سازی منفی راه آسانی برای به دست آوردن اولین یا آخرین عناصر یک دنباله یا معکوس کردن ترتیب آن ارائه می دهد.

پیشنهاد می‌کنیم بخوانید:  روش نصب TensorFlow در CentOS 7

در این مقاله روش استفاده از Slice Notation را توضیح داده ایم روی لیست ها در پایتون

(برچسب‌ها به ترجمه)# python



منتشر شده در 1403-01-15 18:44:03

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید