🧵 رشته‌ها

رشته‌ها: اندیس، برش و معکوس کردن

۵ گام

رشته دنباله‌ای از کاراکترهاست

رشته (string) چیزی نیست جز یک ردیف کاراکتر، و هر کاراکتر یک شمارهٔ خانه دارد که از صفر شروع می‌شود:

 S   a   l   a   m
 0   1   2   3   4
-5  -4  -3  -2  -1
word = "Salam"
print(word[0])    # S   ← اولین حرف
print(word[-1])   # m   ← آخرین حرف، از آخر می‌شمارد

با : می‌شود به‌جای یک حرف، یک تکه برداشت:

print(word[1:4])   # ala  ← خانه‌های ۱ و ۲ (نه ۴!)
print(word[:3])    # Sal  ← از اول تا قبل از ۳
print(word[2:])    # lam  ← از ۲ تا آخر
print(word[::-1])  # malaS ← گام منفی = از آخر به اول

دو قانون را حفظ کن:

  • شماره‌گذاری از صفر شروع می‌شود.
  • در برش، خانهٔ شروع جزو نتیجه است و خانهٔ پایان نیست. همین قانون را در range و لیست‌ها هم خواهی دید، پس همین‌جا خوب یادش بگیر.

با [::-1] (گام منفی) می‌شود رشته را معکوس کرد؛ ترفندی که برای پیدا کردن پالیندروم‌ها به کار می‌آید. درس کامل رشته‌ها را هم ببین.

  1. ۱گام ۱

    یک متغیر به اسم word بساز و رشتهٔ Salam را داخلش بگذار. بعد طولش را با تابع len چاپ کن.

    رشته داخل نقل‌قول " " نوشته می‌شود و تابع len تعداد کاراکترها را می‌دهد.

  2. ۲گام ۲

    اولین حرف رشته را چاپ کن.

    هر کاراکتر یک شمارهٔ خانه (اندیس) دارد که از صفر شروع می‌شود؛ پس اولین حرف با word[0] گرفته می‌شود، نه word[1].

  3. ۳گام ۳

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

    اندیس -1 همیشه آخرین کاراکتر است، بدون اینکه طول رشته را بدانی. (word[4] هم جواب می‌دهد، ولی با -1 کدت به طول رشته وابسته نمی‌شود.)

  4. ۴گام ۴

    با برش (slicing) تکهٔ ala را از رشته جدا کن و چاپش کن.

    شکل برش: word[شروع:پایان]. خانهٔ شروع جزو نتیجه است، ولی خانهٔ پایان نیست؛ برای همین word[1:3] فقط al را می‌دهد، نه ala.

  5. ۵گام ۵

    آخرین گام: رشته را معکوس کن و چاپش کن. باید malaS چاپ شود.

    برش یک عدد سوم هم می‌گیرد: گام. word[::1] یعنی همهٔ حرف‌ها یکی‌یکی از اول به آخر؛ ولی گام منفی یعنی از آخر به اول: word[::-1].

در حال آماده‌سازی ویرایشگر…