⬅️ Bosh sahifaga

🐍 Python List - To'liq Dars

Interaktiv prezentatsiya bilan o'rganamiz

🎯 Darsning maqsadi

📝

List yaratish

Turli usullar bilan list yaratishni o'rganamiz

🔍

Indekslash

Musbat va salbiy indekslar bilan ishlash

✂️

Slicing

List qismlarini kesib olish texnikasi

Qo'shish/O'chirish

Elementlarni boshqarish metodlari

💡 Savol

Nima uchun dasturlashda ro'yxatlar kerak? Haqiqiy hayotdan misol keltiring!

📚 List nima?

List - bu bir nechta elementlarni saqlash uchun ishlatiladigan ma'lumot turi

# Oddiy list misoli mevalar = ["olma", "banan", "anor"] print(mevalar) print(len(mevalar)) # List uzunligi
Natija: ['olma', 'banan', 'anor'] Uzunlik: 3
🔄

O'zgaruvchan

Yaratgandan keyin o'zgartirish mumkin

📋

Tartibli

Elementlar tartibini saqlaydi

🎭

Har xil turlar

Bitta listda turli ma'lumot turlari

🏗️ List yaratish usullari

# 1. To'g'ridan-to'g'ri yaratish mevalar = ["olma", "banan", "anor"] # 2. Bo'sh list bo'sh_list = [] # 3. list() funksiyasi sonlar = list([1, 2, 3, 4, 5]) # 4. Range bilan raqamlar = list(range(1, 11)) # 5. Aralash list har_xil = [10, "salom", True, [1, 2, 3]]
mevalar: ['olma', 'banan', 'anor'] bo'sh_list: [] sonlar: [1, 2, 3, 4, 5] raqamlar: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] har_xil: [10, 'salom', True, [1, 2, 3]]

🤔 Qaysi usul to'g'ri?

🔍 Indekslash

mevalar = ["olma", "banan", "anor", "uzum", "nok"] # 0 1 2 3 4 # Musbat indekslar print(mevalar[0]) # olma print(mevalar[2]) # anor # Salbiy indekslar (oxiridan) print(mevalar[-1]) # nok (oxirgi) print(mevalar[-2]) # uzum # Element o'zgartirish mevalar[1] = "shaftoli" print(mevalar)
olma anor nok uzum ['olma', 'shaftoli', 'anor', 'uzum', 'nok']

⚠️ Muhim eslatma

IndexError - agar mavjud bo'lmagan indeksga murojaat qilsangiz!

print(mevalar[10]) # IndexError!

✂️ Slicing (Kesish)

sonlar = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # Asosiy slicing: [boshlang'ich:oxirgi:qadam] print(sonlar[2:7]) # [2, 3, 4, 5, 6] print(sonlar[:5]) # [0, 1, 2, 3, 4] print(sonlar[5:]) # [5, 6, 7, 8, 9] # Qadam bilan print(sonlar[::2]) # [0, 2, 4, 6, 8] print(sonlar[::-1]) # [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
[2, 3, 4, 5, 6] [0, 1, 2, 3, 4] [5, 6, 7, 8, 9] [0, 2, 4, 6, 8] [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

sonlar[::2]

Har ikkinchi element

🔄

sonlar[::-1]

Teskari tartib

➕ Element qo'shish

mevalar = ["olma", "banan"] # 1. append() - oxiriga qo'shish mevalar.append("anor") print("append():", mevalar) # 2. insert() - ma'lum joyga qo'shish mevalar.insert(1, "shaftoli") print("insert():", mevalar) # 3. extend() - boshqa list qo'shish yangi_mevalar = ["uzum", "nok"] mevalar.extend(yangi_mevalar) print("extend():", mevalar) # 4. + operatori mevalar = mevalar + ["gilos"] print("+ operatori:", mevalar)
append(): ['olma', 'banan', 'anor'] insert(): ['olma', 'shaftoli', 'banan', 'anor'] extend(): ['olma', 'shaftoli', 'banan', 'anor', 'uzum', 'nok'] + operatori: ['olma', 'shaftoli', 'banan', 'anor', 'uzum', 'nok', 'gilos']

🤔 append() va extend() farqi nima?

append() - bitta element qo'shadi
extend() - boshqa listni qo'shadi

🗑️ Element o'chirish

mahsulotlar = ["non", "sut", "tuxum", "go'sht", "sabzi"] # 1. remove() - qiymat bo'yicha o'chirish mahsulotlar.remove("tuxum") print("remove():", mahsulotlar) # 2. pop() - indeks bo'yicha o'chirish o'chirilgan = mahsulotlar.pop(2) print("pop():", mahsulotlar) print("O'chirilgan:", o'chirilgan) # 3. del operatori del mahsulotlar[1] print("del:", mahsulotlar) # 4. clear() - hammasini o'chirish mahsulotlar.clear() print("clear():", mahsulotlar)
remove(): ['non', 'sut', 'go'sht', 'sabzi'] pop(): ['non', 'sut', 'sabzi'] O'chirilgan: go'sht del: ['non', 'sabzi'] clear(): []

🛠️ Qo'shimcha metodlar

raqamlar = [3, 1, 4, 1, 5, 9, 2, 6] # count() - element necha marta takrorlanganini hisoblash print("1 soni:", raqamlar.count(1)) # index() - elementning birinchi indeksini topish print("4 ning indeksi:", raqamlar.index(4)) # sort() - tartibga solish raqamlar.sort() print("Tartiblangan:", raqamlar) # reverse() - teskari qilish raqamlar.reverse() print("Teskari:", raqamlar) # copy() - nusxa yaratish nusxa = raqamlar.copy() print("Nusxa:", nusxa)
1 soni: 2 4 ning indeksi: 2 Tartiblangan: [1, 1, 2, 3, 4, 5, 6, 9] Teskari: [9, 6, 5, 4, 3, 2, 1, 1] Nusxa: [9, 6, 5, 4, 3, 2, 1, 1]
🔢

count()

Element sonini sanash

📍

index()

Element joylashuvini topish

🔄

sort() / reverse()

Tartiblash va teskari qilish

🎯 Amaliy mashq: Do'kon inventari

# Do'kon inventarini boshqarish inventar = [] # Mahsulot qo'shish inventar.extend(["olma", "banan", "non", "sut"]) print("Boshlang'ich:", inventar) # Yangi mahsulot keldi inventar.append("go'sht") inventar.insert(2, "sabzi") print("Yangi mahsulotlar:", inventar) # Ba'zi mahsulotlar sotildi inventar.remove("sut") sotilgan = inventar.pop(0) print("Sotilgan:", sotilgan) print("Qolgan:", inventar) # Hisobot print("Jami:", len(inventar)) print("Oxirgi 3ta:", inventar[-3:])
Boshlang'ich: ['olma', 'banan', 'non', 'sut'] Yangi mahsulotlar: ['olma', 'banan', 'sabzi', 'non', 'sut', 'go'sht'] Sotilgan: olma Qolgan: ['banan', 'sabzi', 'non', 'go'sht'] Jami: 4 Oxirgi 3ta: ['sabzi', 'non', 'go'sht']

🎉 Xulosa

O'rganganlar

List yaratish, indekslash, slicing

🛠️

Metodlar

append, insert, remove, pop

🎯

Amaliyot

Real loyihalar bilan mashq

🏠 Uy vazifasi

1. Shaxsiy moliya boshqaruvi

Oylik xarajatlar ro'yxati yarating va jami summani hisoblang

2. O'yinlar do'koni

8 ta o'yin nomi qo'shing, saralang va oxirgi 3tasini o'chiring

3. Maktab baholar tizimi

5 ta fan uchun baholar yarating va o'rtacha bahoni hisoblang

Keyingi dars:

Python List Advanced: Nested lists, comprehension, sort(), reverse()