لیست برش ها یک روش پیشرفته تر برای بازیابی مقادیر از یک لیست را فراهم می کند. برش فهرست اصلی شامل index سازی یک لیست با دو عدد صحیح جدا شده است. یک لیست جدید با تمام مقادیر موجود در لیست قدیمی بین شاخص ها را نشان می دهد. مثال:
squares = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
print(squares[2:6])
print(squares[3:8])
print(squares[0:1])
خروجی:
>>>
[4, 9, 16, 25]
[9, 16, 25, 36, 49]
[0]
>>>
نکته:همانند آرگومان هایی برای Range، اولین شاخص ارائه شده در یک slice در نتیجه گنجانده شده است، اما در slice دوم آن نیست. اگر شماره اول در یک slice حذف شده باشد،مقدارش برای شروع لیست در نظر گرفته شده است. اگر عدد دوم حذف شده باشد، مقدارش برای پایان در نظر گرفته شده است. مثال:
squares = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
print(squares[:7])
print(squares[7:])
خروجی:
>>>
[0, 1, 4, 9, 16, 25, 36]
[49, 64, 81]
>>>
نکته:sliceنیز می تواند بر روی tuple نیز انجام شود. لیست های slice همچنین می توانند یک عدد سوم داشته باشند، که نشان دهنده مرحله است، فقط شامل مقادیر جایگزین در slice می شود.
squares = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
print(squares[::2])
print(squares[2:8:3])
خروجی:
>>>
[0, 4, 16, 36, 64]
[4, 25]
>>>
نکته:[2: 8: 3] شامل عناصر شروع از 2 تا 8 با واسته 3 تایی است. مقادیر منفی را می توان در slice لیست (و فهرست بندی عادی لیست) استفاده کرد. وقتی مقادیر منفی برای مقادیر اول و دوم در یک تکه (یا یک شاخص عادی) استفاده می شود، از پایان لیست محاسبه می شود.
squares = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
print(squares[1:-1])
خروجی:
>>>
[1, 4, 9, 16, 25, 36, 49, 64]
>>>
نکته:اگر یک مقدار منفی برای این مرحله استفاده شود، slice برعکس انجام خواهد شد. با استفاده از [:: - 1]
به عنوان یک slice یک روش رایج و اصیل برای تبدیل یک لیست است.