Satrlar bilan ishlash amallari
Satrlar ketma-ketliklar kabi belgilarig aindeks orqali murojat qilish, qirqib olish, ulash, qayta takrorlash, tegishlilikka tekshirish kabi amallarni qo’llaydi. Bu amallarni batafsil ko’rib chiqamiz.
Satrning ixtiyoriy belgisiga murojat qilish ucun uning indeksini kvadrat qavs ichida keltirish etarli. Raqamlash noldan boshlanadi:
>>> s = "Python"
>>> s[0] , s[1] , s[2] , s[3] , s[4] , s[5]
('Р', 'у', 't', 'h', 'o', 'n' )
Agar ko’rsatilgan indeksga mos keluvchi satrda bo’lmasa, IndexError istisnosi yuzaga keladi:
>>> s = "Python"
>>> s[10]
Traceback (most recent call last):
File "
", line 1, in
s[l0]
IndexError: string index out of range
Indeks sifatida manfiy sonni ko’rsatish mumkin. Bu holda hisob teskari tartibdaya’ni satr oxiridan boshlanadi, ya’ni -1 elemen satr ohirga belgi bo’ladi. Masalan:
>>> s = "Python"
>>> s[-1] , s[len(s)-1]
('n', 'n' )
Bunday turdagi satrlar ozgarmas turga tegishli bo’lib, indeks bo’yicha belgini o’zgartirish mumkin emas:
>>> s = "Python"
>>> s[0] = "J" # satrni o’zgartirish mumkin emas
Traceback (most recent call last):
File "
" , line 1, in
s [0] = "J" # satrni o’zgartirish mumkin emas
TypeError: 'str' object does not support item assignment
Agar o’zgartirmoqchi bo’lsak, qatroni biror parchasini qirqib olishmiz mumkin. Amal formati:
[::]
Bu yerda barcha parametrlar majburiy emas. Agar parametri ko’rsatilmasa, qiymat 0 deb qabul qilinadi. Agar ko’rsatilmasa, satr ohirigacha olinadi.
Agar ko’rsatilmasa, qiymat 1 deb olinadi. Parameter qiymati sifatida manfiy sonni ko’rsatish mumkin.
Misol orqali ko’rib chiqaylik. Boshlanishiga satrni nusxasini oalamiz:
>>> s = "Python"
>>> s[:] # 0 pozitsiyadan satr ohirigacha satr qismini qaytaradi
'Python'
Endi belgilarni teskari tartibda chiqaramiz:
>>> s[: : -1] # parametri sifatida manfiy sonni ko’rsatamiz
'nohtyP '
Satrdagi birinchi belgini almashtiramiz:
>>>"J" + s[l:] # 1 dan satr oxirigacha belgilarni olamiz va “J” ga ualaymiz
'Jython'
Oxirgi belgini o’chiramiz:
>>> s[:- 1] # 0 dan len(s) -1 gacha satr qismini qaytaradi
'Pytho '
Satrdagi birinchi belgini olamiz:
>>> s[0:l ] # indeksi 1 gacha satr chop etiladi
'Р'
Endi ohirgi belgini olamiz:
>>> s[-1:] # len(s)-1 dan satr ohirigacha qismni olamiz
'n'
Va nihoyat, 2,3,4 indeksdagi belgilarni chop etamiz:
>>> s[2:5] # 2, 3 va 4 belgilar chop etiladi
'tho'
Satrdagi belgilar sonini aniqlashga len () funksiyasi yordam beradi:
>>> len("Python"), len (" \r\n\t " ), len (r"\r\n\t")
(6, 3, 6)
Endi, for sikli yordamida barcha belgilarni saralab chop etamiz:
>>> s = "Python"
>>> for i in range (len(s)): print (s [i], end=" ")
Natija:
P y t h o n
Satr iterasiyani qo’llashni nazarda tutib biz shunchaki satrni sikl paramitri sifatida ko’rsatishimiz mumkin:
>>> s = "Python"
>>> for i in s: print (i, end=" ")
Natija quyidagicha:
Р у t h о n
+ operatoridan foydalanib ikki satrni bittaga ulaymiz:
>>> print("1-satr" + "2-satr")
1-satr2-satr
Bundan tashqari, oshkormas holda qotrni ulashimiz mumkin. Bu holda ikki satr ular orasidagi operatorsiz ko’rsatiladi:
>>> print ("1-satr" "2-satr")
1-satr2-satr
Diqqat qiling, biz agar satrlar orasida vergul keltirilasa, biz natija sifatida satr emas kotrej olamiz:
>>> s = "1-satr ", "2-satr "
>>> type (s) # satr emas kotrej olamiz
Agar o’zgaruvchi va satr ulanadigan bo’lsa, albatta ulash belgisini qo’llash kerak, aks holda xatolik kelib chiqadi:
>>> s = "1-satr"
>>> print (s + "2-satr") # Xatosiz
1-satr2-satr
>>> print ("s 2-satr") # Xato
SyntaxError: invalid syntax
Agar satrni boshqa turdagi ma’lumot (amaslan, son) bilan ulash zarur bo’lsa str () funksiyasidan foydalanish va konketanasiya amalini qo’llash kerak bo’ladi:
>>> "string" + str(10)
'string10'
Ko’rib chiqilgan amallardan tashqari satrlar uchun tegishlilikka tekshirish (in va not in operatorlari), takrorlash (* operatori) amallarini ham qo’llash mumkin:
>>> "-" * 20
'-------------------- '
>>> "yt" in "Python"
True
>>> "yt" in "Perl "
False
>>> "РНР" not in "Python"
True
Do'stlaringiz bilan baham: |