Ro’yxatlar ustida amallar
Ro’yxat elementiga murojaat element indeksini kvadrat qavs orasiada ko’rsatish orqali amalga oshiriladi. Elementlar tartibi noldan boshalanadi. Masalan:
>>> arr = [1, "str", 3.2, "4 "]
>>> arr[0] , arr[1] , arr[2] , arr[3]
(1, 'str', 3.2, '4')
Pozitsion o’zlashtirishda elementlar qiymatini ihtiyoriy o’zgaruvchilarga o’zlashtirish mumkin. Bunda chap tomondagi o’zgaruvchilar soni o'ng tomondagi elementlar soniga o’zaro mos bo’lishi kerak, aks holda xatolik yuz beradi:
>>> х, у, z = [1, 2, 3] # Pozitsion o’zlashtirish
>>> х, у, z
(1, 2, 3)
>>> х, у = [1, 2, 3] # Elementlar soni mos bo’lishi kerak
Traceback (most recent call last):
Fi le "
" , line 1, in
х, у = [1, 2, 3] # Elementlar soni mos bo’lishi kerak
ValueError: too many values to unpack (expected 2)
Python 3 da pozitsion o’zlashtirishda chap tomondagi bitta o’zgaruvchi oldidan yulduzcha yozish va bu orqali ortiqcha elementlarni ro’yxat sifatida unga o’zlashtirish mumkin. Agar ortiqcha element bo’lmasa, bu o’zgaruvchi o’zida bosh ro’yxatni saqlaydi:
>>> х, у, *z = [1, 2, 3] ; х, у,
(1, 2, [3] )
>>> х, у, *z = [1, 2, 3, 4, 5] ; x, y, z
(1, 2, [3, 4, 5])
>>> х, у, *z = [1, 2] ; х, у, z
( 1, 2, [ ] )
>>> *х, у, z = [1, 2] ; х, у, z
( [ ], 1, 2 )
>>> х, *у, z = [1, 2, 3, 4, 5] ; х, у, z
(1, [2, 3, 4] , 5)
>>> *z = [1, 2, 3, 4, 5] ; z
[1, 2, 3, 4, 5]
Ro’yxat elementlarni tartiblash nol dan boshlangani uchun ohirgi element tartibi elementlar sonidan bitta kam bo’ladi. Elementlar sonini aniqlash uchun len() funksiyasidan foydalaniladi:
>>> arr = [1, 2, 3, 4, 5]
>>> len (arr) # Elementlar sonini aniqlaymiz
5
>>> arr [len (arr ) -1] # Ohirgi element tartibini aniqlaymiz
5
Agar ko’rsatilgan indeksdagi element mavjud bo’lmasa, IndexError xatoligi yuz beradi:
>>> arr = [1, 2, 3, 4, 5]
>>> arr [5] # Mavjud bo’lmagan elementga murojaat
Traceback (most recent call last):
File "
", line 1, in
arr [5] # Mavjud bo’lmagan elementga murojaat
IndexError: list index out of range
Indeks sifatida manfiy qiymatdan foydalanih mumkin. Bu holda tartiblanish ro’yxat oxiridan boshlanadi. Agar indeksni musbatlashtirmoqchi bo’lsak, elementlar sonidan manfiy indeksni ayrladi. Masalan:
>>> arr = [1, 2, З, 4, 5]
>>> arr [- 1] , arr [len (arr) -1] # Oxirgi elementga murojaat
(5, 5)
Ro’yxatlar o’zgaruvchi turlaga kirgani uchun indekslar yordamida ularning elementlarini o’zgartirish mumkin:
>>> arr = [1, 2, 3, 4, 5]
>>> arr [0] = 600 # indeks bo’yicha elementni o’zgartirish
>>> arr
[600, 2, 3, 4, 5]
Bundan tashqari ro’yxatlarda ko’rsatilgan qismdagi ro’yxat elementlarini nusxalab olish imkoniayati mavjud. Amal formati:
[ : : ]
Barcha barametrlar majburiy emas. Agar ko’rsatilmasa qiymat siaftida 0 olinadi, ko’rsatilmasa ohirigacha olinadi.
Agar : parametri kiritilmasa 1 qiymatdan foydlaniladi. Parametrlar qiymati sifatida manfiy son olinishi mumkin. Misol ko’rib chiqamiz. Dastlab ro’yxat yuzaki nusxasini olamiz:
>>> arr = [1, 2, 3, 4, 5 ]
>>> m = arr[ : ]; m # Yuzaki nusxa yaratamiz va qiymatni chop etamiz
[1, 2, 3, 4, 5 ]
>>> m is arr # is operatori turli obyekt ekanligini ko’rsatyapdi
False
Endi belgilarni teskari tartibda chop etamiz:
>>> arr = [1, 2, 3, 4, 5 ]
>>> arr [ : : -1 ] # - 1 qadam
[5, 4, 3, 2, 1]
Birinchi va ohirgi elementsiz chop etamiz:
>>> arr [1:] # birinchi elementsiz
[2, 3, 4, 5]
>>> arr [ :- 1] # Ohirgi elementsiz
[1, 2, 3, 4]
Ro’yxatning birinchi ikki elementini olamiz:
>>> arr [0:2] # 2 indeksli belgi chop etilmaydi
[1, 2]
Endi ohirgi elementni chop etamiz
>>> arr[- 1:] # ro’yxatning ohirgi elementi
[5]
Va nihoyat ikkinchidan to’rtinchigacha elemetlarni chop etamiz:
>>> arr[1:4] # 1, 2 va 3 indeksli elementlar olinadi
[2, 3, 4]
Qirqim bo’yicha ro’yxat bo’lagini o’zgartirish mumkin. Agar qirqimda bo’sh ro’yxat o’zlashtirilsa, ushbu bo’lak asosiy ro’yxatdan o’chiriladi:
>>> arr = [1, 2, 3, 4, 5]
>>> arr[ l:3 ] = (6, 7) # 1 va 2 indeksli elementni o’zgartiramiz
>>> arr
[1, 6, 7, 4, 5 ]
>>> arr[l:3 ] = [ ] # 1 va 2 indeksli element o’chiriladi
>>> arr
(1, 4, 5]
Ikkita ro’yxatni bittaga birlashtirishda + operatoridan foydalaniladi:
>>> arrl = [1, 2, З, 4, 5]
>>> arr2 = [ 6, 7, 8, 9]
>>> arr3 = arrl + arr2
>>> arr3
[1, 2, 3, 4, 5, 6, 7, 8, 9]
+ operatori o’rniga += operatoridan foydalanish mumkin. Bu holda elementlar joriy ro’yxatga qo’shiladi:
>>> arr = [1 , 2, 3, 4, 5]
>>> arr += [6 , 7, 8, 9]
>>> arr
[1, 2, 3, 4, 5, 6, 7, 8, 9 ]
Ko’rib chiqilgan amallardan tashqari ro’yxatlar uchun takrorlash(* operatori yordamida), tegishlilikka tekshirish (in operatori yordamida) amallarini qo’llash mumkin:
>>> [ 1, 2, 3] * 3 # takrorlash amali
[1, 2, 3, 1, 2, 3, 1, 2, 3]
>>> 2 in [1, 2, 3, 4, 5], 6 in [1, 2, 3, 4, 5] #Tegishlilikka tekshirish
(True, False)
Ro’yaxatga elementlar qo’shish va o’chirish .Ro’yxat elementlarini qidirish va ro’yxatga kirivchi qiymatlari haqida ma’lumot olish. Ro’yxatni teskarilash va aralshtirish. Tasodifiy elementni tanlash
Reja
Ro’yaxatga elementlar qo’shish va o’chirish.
Elementni ro'yxatda mavjudligini tekshirish.
Do'stlaringiz bilan baham: |