برش رشته‌ها در پایتون

slicing

تا اینجا با ساخت رشته‌ها و ایندکس‌گذاری آشنا شدیم ✅

یاد گرفتیم که هر کاراکتر توی رشته یه شماره‌ی مخصوص به خودش داره،

شماره‌ها از صفر شروع می‌شن و با همون شماره می‌تونیم به هر کاراکتر دسترسی پیدا کنیم.

اما یه سؤال مهم 🤔

همیشه که نمی‌خوایم کل رشته رو برداریم، درسته؟

خیلی وقت‌ها فقط یه بخش خاص از رشته به دردمون می‌خوره؛

مثلاً چند حرف اول، چند حرف آخر یا یه تیکه از وسط متن.

اینجاست که برش رشته‌ها (Slicing) وارد می‌شه ✂️

Slicing یعنی جدا کردن یه قسمت مشخص از رشته،

بدون این‌که بخوای دونه‌دونه با ایندکس‌ها کار کنی.

ساختار کلی برش رشته 🧩

برای برش رشته‌ها از علامت دو نقطه : استفاده می‌کنیم.

فرم کلی برش به این شکله:

				
					string[start:end]

				
			
  • start 👉 ایندکس شروع برش (از کجا شروع کنه)
  • end 👉 ایندکس پایان برش (تا کجا بره)

🔹 نکته خیلی مهم:

پایتون از start شروع می‌کنه ولی به end نمی‌رسه

به زودی با مثال‌های ساده می‌بینی که Slicing چقدر کاربردیه و کارت رو راحت می‌کنه 😉

مثال:

				
					text = "Python"
print(text[0:4])

				
			

خروجی می‌شه Pyth

چون پایتون از اندیس ۰ شروع کرده و تا قبل از اندیس ۴ جلو رفته.

اندیس منفی چیه؟ 🤔

گاهی وقت‌ها:

  • طول رشته رو نمی‌دونیم
  • یا می‌خوایم از آخر رشته شروع کنیم

اینجاست که ایندکس‌های منفی خیلی به دادمون می‌رسن 👌

ایندکس‌های منفی چطور کار می‌کنن؟

پایتون اجازه می‌ده از آخر رشته هم ایندکس‌گذاری کنی:

  • -1 👉 آخرین کاراکتر
  • -2 👉 یکی مونده به آخر
  • -3 👉 دو تا مونده به آخر
  • و همین‌طوری ادامه داره…

مثال ساده 👇

				
					text = "Python"
print(text[-3:])

				
			

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

چون گفتیم از سومین کاراکتر از آخر شروع کن و تا آخر رشته بیا جلو.

استفاده از step در برش رشته‌ها 🪜

گاهی وقت‌ها نمی‌خوای همه‌ی کاراکترها رو برداری؛

مثلاً می‌خوای از هر چند تا کاراکتر یکی رو انتخاب کنی.

برای این کار، پایتون یه امکان دیگه هم بهمون می‌ده به اسم گام یا step.

شکل کلی برش با step 🧩

				
					string[start:end:step]

				
			
  • start 👉 از کجا شروع کن
  • end 👉 تا کجا برو (به این عدد نمی‌رسه)
  • step 👉 هر چند تا کاراکتر یکی برداشته بشه
				
					text = "Python"
print(text[::2])

				
			
  • خروجی:

    Pto


  • ولی هر دو تا کاراکتر یکی رو بردار.

  • یعنی از اول تا آخر رشته برو،

یه مثال دیگه با محدوده مشخص 👇

				
					text = "Python"

print(text[1:6:2])

				
			

خروجی:

yhn

جمع‌بندی کوچولو 🧠

  • step بهت کنترل بیشتری روی برش می‌ده
  • ✅ می‌تونی الگوهای خاص از رشته دربیاری
  • ✅ برای پردازش متن خیلی کاربردیه

برش رشته‌ها با step واقعاً قدرتمنده،

کم‌کم که تمرین کنی، دستت کاملاً راه می‌افته 😉

				
					text = "Python"
print(text[::2])

				
			

اشتباهات رایج 🚫

یکی از اشتباه‌های خیلی رایج بین مبتدی‌ها اینه که فکر می‌کنن

وقتی ایندکس پایان رو توی برش می‌نویسن، اون کاراکتر هم توی خروجی میاد.

اما یادت باشه ❗

نه، اصلاً این‌طور نیست.

قانون مهم برش رشته‌ها ⚠️

توی Slicing، ایندکس پایانی همیشه غیرشامل (Exclusive) هست.

یعنی:

				
					text[0:3]

				
			

🔹 فقط کاراکترهای با اندیس ۰، ۱ و ۲ رو برمی‌گردونه

و اندیس ۳ اصلاً داخل خروجی نمیاد.

یه مثال برای جا افتادن 👇

فرض کن این رشته رو داریم:

				
					text = "Python"


				
			

خروجی:

Pyt

✅ نه Pyth

چون همون‌طور که گفتیم، اندیس پایانی حساب نمی‌شه.

اگه این قانون رو یادت بمونه،

خیلی از باگ‌ها و سردرگمی‌ها همون اول کار حل می‌شن 😉

تمرین 💪

یه برنامه بنویس که از کاربر یه رشته بگیره و بعد این کارها رو انجام بده:

1️⃣ سه کاراکتر اول رشته رو چاپ کن

2️⃣ فقط کاراکترهای فرد رشته رو نمایش بده

3️⃣ سه کاراکتر آخر رشته رو چاپ کن

نکته مهم 🧠

سعی کن با بازی کردن با عددهای داخل []

(شروع، پایان و step) دقیق‌تر بفهمی برش رشته‌ها چطوری کار می‌کنن.

🔁 عددها رو عوض کن، خروجی رو ببین،

اینجوری slicing کاملاً تو ذهنت می‌شینه 😉

تصویر آرمان کریمی

آرمان کریمی

مدرس پایتون و تحلیل داده

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

4 − سه =