رشته چیست؟
یک رشته، زنجیرهای از کاراکترهاست. شما میتوانید با استفاده از عملگر قلاب به هر کاراکتر در آنِ واحد دسترسی داشته باشید:
1 2 |
>>> fruit = 'banana' >>> letter = fruit[1] |
گزارهی دوم، کاراکتری که در موقعیت 1 از متغیر fruit قرار دارد را بیرون میکشد و آن را به متغیر letter نسبت میدهد.
عبارت داخل براکتها را ایندکس یا شاخص میگوییم. شاخص نشان میدهد که کدام کاراکتر در سلسلهی موجود را میخواهید. ولی شاید انتظار شما از مقدار موجود در letter چیز دیگری باشد:
1 2 |
>>> print(letter) a |
به صورت شهودی اولین کاراکتر موجود در رشته banana حرف b است، و نه a. ولی چرا شاخص 1 حرف a را نشان میدهد؟ در پایتون، شاخص از ابتدای یک رشته شروع و اولین حرف از رشته با شاخص 0 مشخص میشود.
1 2 3 |
>>> letter = fruit[0] >>> print(letter) b |
در نتیجه b صفرمین حرف از رشته banana به حساب میآید و a یکمین و n دومین و به همین ترتیب.
شما میتوانید از هر عبارتی، شامل متغیرها و عملگرها، به عنوان شاخص استفاده کنید، با این استثنا که مقدار شاخص بایستی یک عدد صحیح باشد وگرنه شما چیزی شبیه به این خطا را دریافت میکنید:
1 2 |
>>> letter = fruit[1.5] TypeError: string indices must be integers |
دریافت طول یک رشته با استفاده از len
یک تابع توکاری شده با اسم len در پایتون وجود دارد که مقدار عددیِ تعداد کاراکترهای موجود در یک استرینگ را برمیگرداند:
1 2 3 |
>>> fruit = 'banana' >>> len(fruit) 6 |
با استفاده از تابع len چطور میشود آخرین کاراکتر یک رشته را استخراج کرد؟ شاید بخواهید که از آن به این صورت استفاده کنید:
1 2 3 |
>>> length = len(fruit) >>> last = fruit[length] IndexError: string index out of range |
ولی دلیل اینکه خطای IndexError گرفتیم چیست؟ حرفی با شاخص 6 در رشته banana وجود ندارد. از آنجایی که پایتون شمارش کاراکترهای رشته را با عدد 0 آغاز میکند، ما در این رشته شاخصهای 0 تا 5 را داریم. به عبارتی برای دریافت آخرین کاراکتر از یک رشته، بایستی عدد یک را از اندازهی طول آن رشته کسر کنیم:
1 2 3 |
>>> last = fruit[length-1] >>> print(last) a |
همچنین میتوانید از شاخصهای منفی به منظور شمارش از آخر به اول استفاده کنید. عبارت fruit[-1] آخرین حرف و عبارت fruit[-2] حرف یکی مانده به آخر را استخراج میکند.
این نوشته تحت مجوز کرییتیو کامنز BY – NC و حمایت موسسه تحقیقاتی رامونا ارائه میشود. شما میتوانید با توجه به مفاد این گواهی از آن استفاده کنید.