8. Ro‘yxatlar
Nazariya
Ro‘yxat
a = [3, 1, 4, 1, 5]
a = list(map(int, input().split()))
a = [0] * 10 # o‘nta nolIndeks 0 dan boshlanadi. Manfiy indeks oxiridan sanaydi:
a[0] # birinchi
a[-1] # oxirgi
a[-2] # oxiridan ikkinchiKesish (slice)
a[boshi:oxiri] — oxiri kirmaydi:
a[1:3] # 1 va 2-indeksdagi elementlar
a[:3] # boshidan uchtasi
a[2:] # 2-indeksdan oxirigacha
a[::-1] # teskari nusxaFoydali funksiyalar va metodlar
| Yozuv | Nima qiladi |
|---|---|
len(a) | uzunlik |
sum(a), min(a), max(a) | yig‘indi, eng kichik, eng katta |
a.append(x) | oxiriga qo‘shadi |
a.pop() | oxirgisini olib tashlaydi va qaytaradi |
a.sort() | o‘zini saralaydi |
sorted(a) | saralangan yangi ro‘yxat |
a.count(x) | x necha marta uchraydi |
a.index(x) | birinchi uchragan joyi |
a.sort() hech narsa qaytarmaydi (None), sorted(a) esa yangi
ro‘yxat beradi. b = a.sort() — tipik xato.
Nusxa va havola
b = a # bu nusxa EMAS: b va a bitta ro‘yxat
b = a[:] # nusxa
b = list(a) # nusxaBirinchi holatda b.append(1) qilsangiz, a ham o‘zgaradi.
Ro‘yxat yig‘uvchi (comprehension)
kvadratlar = [x * x for x in range(10)]
juftlar = [x for x in a if x % 2 == 0]
Misol
a = list(map(int, input().split()))
print(len(a), sum(a), max(a))
print(a[::-1])
Mashq masalalari
| ✓ | Kod | Masala | Qiyinlik |
|---|---|---|---|
| A105 | Massivdagi maksimum | Oson | |
| PY08-1 | Eng katta va eng kichik | Boshlang‘ich | |
| PY08-10 | Keraksizini olib tashlash | Oson | |
| PY08-11 | Tog‘ cho‘qqilari | Oson | |
| PY08-12 | Jadvalni burish | O‘rta | |
| PY08-13 | Eng daromadli davr | O‘rta | |
| PY08-14 | Kinoteatrda yonma-yon joylar | O‘rta | |
| PY08-15 | Spiral | Qiyin | |
| PY08-2 | O‘rtachadan kattalar | Oson | |
| PY08-3 | Teskari ro‘yxat | Boshlang‘ich | |
| PY08-4 | Juft o‘rindagilar | Boshlang‘ich | |
| PY08-5 | Aylanma siljitish | O‘rta | |
| PY08-6 | Kumush medal | Oson | |
| PY08-7 | Manfiylarni nolga | Oson | |
| PY08-8 | Qo‘shnilar yig‘indisi | Oson | |
| PY08-9 | Avval juftlar | Oson |