پرسش

نحوه کارکرد برش (Slicing) در پایتون

How slicing in Python works?

من دارم پایتون یاد می‌گیرم و با مفهوم برش (Slicing) در لیست‌ها و رشته‌ها روبرو شدم. ولی هنوز کامل متوجه نشدم که چطوری کار می‌کنه و چطور می‌تونم ازش استفاده کنم. می‌تونید یه توضیح کامل و ساده از برش در پایتون بدید و مثال‌هایی هم بزنید که چطور می‌تونم ازش استفاده کنم؟

1403/05/28
پاسخ
رضا دولتی عاشق برنامه نویسی و هوش مصنوعی!
بیوگرافی رضا دولتی

توی پایتون، برش (Slicing) یه راه خیلی ساده و قدرتمنده که باهاش می‌تونی از یه لیست یا رشته یه زیرمجموعه بگیری. بیایید با یه مثال ساده شروع کنیم.

فرض کن یه لیست داری به اسم my_list که شامل اعداد ۱ تا ۱۰ هست:

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

حالا اگه بخوای یه زیرمجموعه از این لیست بگیری، مثلاً اعداد از ۳ تا ۷، می‌تونی از این روش استفاده کنی:

subset = my_list[2:7]
print(subset)

خروجی این کد این می‌شه:

[3, 4, 5, 6, 7]

همونطور که می‌بینی، عدد ۳ توی لیست my_list دومین عنصره (چون شمارش از ۰ شروع می‌شه) و عدد ۷ ششمین عنصره. پایتون همیشه شامل ابتدای بازه (یعنی ۲) می‌شه ولی انتها رو شامل نمی‌شه، یعنی ۷ توی خروجی نیست.

حالا اگه بخوای با همون روش یه زیرمجموعه از رشته بگیری، فرض کن یه رشته داری:

my_string = "Hello, World!"

اگه بخوای حروف از ۰ تا ۴ رو بگیری، می‌تونی اینجوری کد بزنی:

substring = my_string[0:5]
print(substring)

و خروجی این می‌شه:

"Hello"

توی این مثال، همونطور که قبلاً گفتم، شروع شامل می‌شه (یعنی ۰) ولی انتها نه (یعنی ۵).

حالا چند نکته پیشرفته‌تر:

- شروع و پایان رو خالی بذاری:

اگه شروع یا پایان رو ننویسی، یعنی از ابتدا یا تا انتها رو می‌گیری. مثلاً:

  print(my_list[:5])
  print(my_list[5:])

- گام (Step): می‌تونی یه گام هم مشخص کنی که بگی چقدر چقدر از یکی بپر، مثلاً:

  print(my_list[::2])

خروجی می‌شه:

  [1, 3, 5, 7, 9]

این برش‌ها توی پایتون خیلی کار رو راحت می‌کنن، مخصوصاً وقتی با داده‌های بزرگ سر و کار داری و باید سریعاً یه زیرمجموعه خاص رو استخراج کنی.

پاسخ: 1403/05/28
آخرین آپدیت: 1403/07/19