Skip to content

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.

python
royhat = ["olma", "mango", "kivi", "ananas", "banan"]
royhat.sort()
print(royhat)  # Natija: ['ananas', 'banan', 'kivi', 'mango', 'olma']
python
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.

python
royhat = ["olma", "mango", "kivi", "ananas", "banan"]
royhat.sort(reverse = True)
print(royhat)  # Natija: ['olma', 'mango', 'kivi', 'banan', 'ananas']
python
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).

python
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.

python
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.

python
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.

python
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.