دسترسی به حروف رشته در پایتون

Please login to bookmark Close

طول رشته

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

text = 'Codebaz.dev'
length = len(text)
print(length)  # خروجی: 11

Indexing

دسترسی به یک کارکتر خاص از یک رشته بر اساس ایندکسِ آن را indexing می‌گویند. مقدار index برای اولین کارکتر برابر 0، برای دومین کارکتر برابر 1 و … است.

ایندکس متناظر هر کارکتر

برای گرفتن دومین، پنجمین و هشتمین رشته از کارکتر از این رشته از کد زیر استفاده می‌کنیم.

codebaz_dev = 'CODEBAZ.DEV'
print(codebaz_dev[1]) # O
print(codebaz_dev[4]) # E
print(codebaz_dev[7]) # .

در مثال بالا، طول عبارت CODEBAZ.DEV را می‌دانستیم. به همین دلیل مشخص بود که ایندکس آخرین کارکتر 10 است. اما اغلب پیش می‌آید که طول رشته را نمی‌دانیم چون قرار است توسط کاربر مقدار دهی شده یا بر اساس شرایطی مقدار دهی شود. در این شرایط که طول رشته را نمی‌دانیم، برای دسترسی به آخرین کارکتر می‌توانیم به شکل زیر عمل کنیم.

text = input('Write something: ')
index =  len(text) - 1
print(text[index])

برای گرفتن رشته یکی مانده به آخر نیز می‌توانیم به شکل زیر عمل کنیم.

text = input('Write something: ')
index =  len(text) - 2
print(text[index])

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

Negative Indexing

در این نوع indexing، مقدار index برای آخرین کارکتر برابر -1 و برای کارکتر یکی مانده به آخر برابر -2 و … است.

ایندکس مثبت و منفی متناظر با هر کارکتر

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

text = input('Write something: ')
print(text[-1], text[-2])

Slicing

برخلاف indexing که امکان دسترسی به یک کارکتر را فراهم می‌سازد، slicing امکام دسترسی به چندین کارکتر پشت سر هم را فراهم می‌سازد.

مثلا برای دسترسی به کارکتر سوم تا هفتم عبارت CODEBAZ.DEV به شکل زیر عمل می‌کنیم.

codebaz_dev = "CODEBAZ.DEV"
print(codebaz_dev[3:7])

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

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

codebaz_dev = "CODEBAZ.DEV"
print(codebaz_dev[0:3])
print(codebaz_dev[:3])

کد بالا نشان می‌دهد که خالی گذاشتن سمت چپ : مانند این است که آن را با 0 پر کنید.

همچنین برای دسترسی به ۳ کارکتر آخر به شکل زیر عمل می‌کنیم.

codebaz_dev = "CODEBAZ.DEV"
print(codebaz_dev[-3:])

گام پیمایش

گام پیمایش به ما کمک می‌کند تا حروف یک رشته را با الگویی خاص استخراج کنیم. سینتکس (نحوه نوشتن) آن بسیار شبیه به slicing است تنها با این تفاوت که یک بخش به نام step به آن اضافه شده است.

این step مشخص می‌کند که کدام حروف از یک رشته استخراج شوند.

مقدار stepوضعیت
1همه کارکتر هایی که ایندکس شان مضربی از ۱ است (همه کارکتر ها)
2همه کارکتر هایی که ایندکس شان مضربی از ۲ است (۰ و ۲ و ۴ و ۶ و …)
3همه کارکتر هایی که ایندکس شان مضرفی از ۳ است (۰ و ۳ و ۶ و …)

اکنون رشته زیر را در نظر بگیرید.

ایندکس مثبت و منفی متناظر با هر کارکتر
print('CODEBAZ.DEV'[::1])   # CODEBAZ.DEV
print('CODEBAZ.DEV'[::2])   # CDBZDV
print('CODEBAZ.DEV'[::3])   # CEA.

print('CODEBAZ.DEV'[2:8:1]) # DEBAZ.
print('CODEBAZ.DEV'[2:8:2]) # DBZ
print('CODEBAZ.DEV'[2:8:3]) # DAZ
Please login to bookmark Close
پیشرفت شما در «دوره آموزش پایتون مقدماتی» (18%)
نظرات

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

18%
پیشرفت

سرفصل دوره

فهرست مطالب

سرفصل دوره

تمرین

این قسمت تمرین ندارد!

پاسخ تمرین ها

هنوز برای تمرین‌های این قسمت پاسخی ثبت نشده است!

اشتراک گذاری

چرا بهتره از فیلترشکن استفاده کنید؟

من همه ویدئو ها و پادکست های کُدباز رو توی یوتیوب و ساندکلود و پلتفرم هایی آپلود می‌کنم که اغلب فیلتر هستند.

اغلب آموزش‌ها ویدئو و پادکست دارند. پس اگر می‌خواهید از محتوای سایت بیشترین استفاده رو ببرید نیاز به فیلتر شکن دارید.

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

تنظیمات

انتخاب زبان
تغییر تم