Ro‘yxatlarni tartibga solish
Ro‘yxatni alfavit tartibida tartibga solish
Ro‘yxat obyektlari sort() metodiga ega bo‘lib, u standart bo‘yicha alfavit tartibida yoki ko‘tarilish yo‘nalishida tartiblaydi.
royhat = ["olma", "mango", "kivi", "ananas", "banan"]
royhat.sort()
print(royhat) # Natija: ['ananas', 'banan', 'kivi', 'mango', 'olma']royhat = [100, 50, 65, 82, 23]
royhat.sort()
print(royhat) # Natija: [23, 50, 65, 82, 100]Tartibni tushish yo‘nalishida solish
Tushish yo‘nalishi uchun reverse = True parametri ishlatiladi.
royhat = ["olma", "mango", "kivi", "ananas", "banan"]
royhat.sort(reverse = True)
print(royhat) # Natija: ['olma', 'mango', 'kivi', 'banan', 'ananas']royhat = [100, 50, 65, 82, 23]
royhat.sort(reverse = True)
print(royhat) # Natija: [100, 82, 65, 50, 23]Maxsus tartib solish funksiyasi
key = funksiya orqali o‘zingizning tartiblash logikangizni sozlashingiz mumkin. Funksiya tartiblash uchun ishlatiladigan sonni qaytaradi (eng kichik son birinchi).
def mening_funksiyam(n):
return abs(n - 50)
royhat = [100, 50, 65, 82, 23]
royhat.sort(key = mening_funksiyam)
print(royhat) # Natija: [50, 65, 23, 82, 100]Katta-kichik harfga sezgir tartib solish
sort() metodi standart holatda katta-kichik harfga sezgir bo‘lib, katta harflar kichik harflardan oldin joylashadi.
royhat = ["banan", "Apelsin", "Kivi", "gilos"]
royhat.sort()
print(royhat) # Natija: ['Apelsin', 'Kivi', 'banan', 'gilos']Katta-kichik harfga sezgir bo‘lmagan tartib uchun str.lower ni key sifatida ishlatish mumkin.
royhat = ["banan", "Apelsin", "Kivi", "gilos"]
royhat.sort(key = str.lower)
print(royhat) # Natija: ['Apelsin', 'banan', 'gilos', 'Kivi']Diqqat
str.lower katta-kichik harflarni hisobga olmasdan alfavit tartibida tartiblashni ta’minlaydi.
Teskari tartib
Alfavit tartibidan qat’i nazar ro‘yxatni teskari tartibga solish uchun reverse() metodi ishlatiladi.
royhat = ["banan", "Apelsin", "Kivi", "gilos"]
royhat.reverse()
print(royhat) # Natija: ['gilos', 'Kivi', 'Apelsin', 'banan']Diqqat
reverse() ro‘yxatni hozirgi tartibini teskari qiladi, tartiblash shart emas.
