Boshqa dasturlash tillaridagi kabi indeks bo`yicha olish:
>>> a = [1, 3, 8, 7]
>>> a[0]
1
>>> a[3]
7
>>> a[4]
Traceback (most recent call last):
File "", line 1, in
IndexError: list index out of range
Ko`plab boshqa tillar kabi bu yerda ham raqamlash noldan boshlanadi. Mavjud bo`lmagan indeksga murojaat qilishga urinish natijasida IndexError xatoligi yuzaga keladi. Yuqoridagi misolimizda a o`zgaruvchisi ro`yxat edi. Lekinbundan tashqari boshqa tipdagi, masalan, satrlar va kortejlarda ham indeksi bo`yicha elementiga murojaat qilish mumkin.
>>> a = [1, 3, 8, 7]
>>> a[-1]
7
>>> a[-4]
1
>>> a[-5]
Traceback (most recent call last):
File "", line 1, in
IndexError: list index out of range
Pythonda, bundan tashqari, manfiy indekslardan ham foydalanish mukin, bunday holda tartiblash ro`yxat oxiridan boshlab amalga oshiriladi.
Kesimlar
Pythonda indekslardan tashqari yana kesimlar ham mavjud.
item[START:STOP:STEP] – START nomerdan STOP gacha (uning o`zi kirmaydi), STEP qadam bilan elementlarni oladi. Boshqa qiymat ko`rsatilmasa, odatda START=0, STOP=ob`yekt uzunligiga, STEP=1. Demak, qaysidir (va hatto barcha) parametrlar tushirib qoldirilishi mumkin.
>>> a = [1, 3, 8, 7]
>>> a[:]
[1, 3, 8, 7]
>>> a[1:]
[3, 8, 7]
>>> a[:3]
[1, 3, 8]
>>> a[::2]
[1, 8]
Bundan tashqari bu parametrlar manfiy qiymatlarni ham qabul qilishi mumkin:
>>> a = [1, 3, 8, 7]
>>> a[::-1]
[7, 8, 3, 1]
>>> a[:-2]
[1, 3]
>>> a[-2::-1]
[8, 3, 1]
>>> a[1:4:-1]
[]
>>> a = [1, 3, 8, 7]
>>> a[10:20]
[]
Oxirgi misolimizda bo`sh ro`yxat hosil bo`ldi, chunki, START
>>> a = [1, 3, 8, 7]
>>> a[1:3] = [0, 0, 0]
>>> a
[1, 0, 0, 0, 7]
>>> del a[:-3]
>>> a
[0, 0, 7]
qBundan tashqari kesimlar yordamida nafaqat elementlarni olish, balki, ularni qo`shish yoki o`chirish ham mumkin(albatta, faqat o`zgartirish mumkin bo`lgan ketma-ketliklar uchun).
16-bob
Dostları ilə paylaş: |