Python-da ro'yxatlar (ro'yxat). Funktsiyalar va usullar ro'yxati

Dasturlashda ro'yxatlar massivlar kabi foydali ma'lumotlar strukturasidir. Ro'yxatlar nima, ularni qanday yaratish kerak? Python-da ro'yxatlar bilan qanday ishlash kerak? Bu haqda bizning maqolamizdan bilib olasiz.

Python-da ro'yxatlar nima?

Python-da ro'yxatlar (ro'yxat). Funktsiyalar va usullar ro'yxati
Python ma'lumotlar turlari: ro'yxatlar

Roʻyxatlar qisman massivlar bilan aniqlanishi mumkin, lekin roʻyxatlarning farqi va afzalligi (aks holda ular listing deb ham ataladi) turli xil maʼlumotlar turlarini birlashtira olishidadir. Ya'ni, listing ob'ektlarning istalgan ketma-ketligini saqlash uchun ko'proq imkoniyatlarni ochadi. Ro'yxat deb ataladigan o'zgaruvchida muqobil tuzilmalarga havolalarni o'z ichiga olgan xotiradagi strukturaga havola mavjud.

Python-dagi ro'yxat o'zgartirilishi mumkin bo'lgan va ob'ektlari farq qilishi mumkin bo'lgan aralash turdagi ob'ektlarning tartiblangan to'plamidir.

Bu nima degani? Keling, ta'rifni batafsil ko'rib chiqaylik.

Ro'yxatning o'lchami o'zgartirilishi, qisqartirilishi, unga yangi qatorlar qo'shilishi mumkin. Shuningdek, ro'yxatning butun tuzilishini o'zgartirishingiz mumkin. Shuni yodda tutingki, har safar ro'yxatdagi usul ishlatilganda, nusxasi emas, balki asl ro'yxati o'zgartiriladi.

Aniqroq bo'lishi uchun siz Python-dagi ro'yxatni do'konda sotib olinishi kerak bo'lgan mahsulotlar ro'yxati deb o'ylashingiz mumkin. Agar xarid qilish rejasini tuzayotganda barcha kerakli narsalar bir-birining ostida joylashgan bo'lsa va ularning har biri o'z qatoriga ega bo'lsa, Python-dagi ro'yxat vergul va kvadrat qavs ichida ajratilgan barcha elementlarni o'z ichiga oladi, shunda Python buni tushunishi mumkin. ro'yxati bu erda ko'rsatilgan. Elementlar qo'shtirnoq ichiga olingan. Bu majburiy shart, chunki har bir element alohida chiziqdir.

Ro'yxatni yaratish usullari

Klassik misolga o'tsak, keling, kelajakda biz foydalanadigan va o'zgartiradigan ro'yxat tuzamiz. Ro'yxatlarni yaratishning bir necha yo'li mavjud.

Ulardan biri dastur o'rnatilgan funktsiyalar ro'yxati ( ). Buni amalga oshirish uchun siz takrorlanishi mumkin bo'lgan har qanday ob'ektni qayta ishlashingiz kerak (satr, kortej yoki mavjud ro'yxat). Bunday holda, string.

Oxirida nima bo'ladi:

>>> list('list') ['c', 'n', 'i', 'c', 'o', 'to']

Ikkinchi misol shuni ko'rsatadiki, ro'yxatlar cheksiz miqdordagi juda xilma-xil ob'ektlarni o'z ichiga olishi mumkin. Bundan tashqari, ro'yxat bo'sh qolishi mumkin.

>>> s = [] # Boʻsh roʻyxat >>> l = ['s', 'p', ['isok'], 2] >>> s [] >>> l ['s', 'p' , ['isok'], 2]

Ro'yxatlarni shakllantirishning keyingi, uchinchi usuli bu deb ataladi listing generatori.

Ro'yxat generatori ro'yxatlar yaratish uchun sintaktik konstruktsiyadir. Bu for tsikliga o'xshaydi.

>>> c = ['list'dagi c uchun c * 3] >>> c ['lll', 'iii', 'sss', 'ttt']

Bundan tashqari, undan katta hajmli tuzilmalarni yaratish uchun foydalanish mumkin:

>>> c = [c * 3 'list'dagi c uchun, agar c != 'i'] >>> c ['lll', 'sss', 'ttt'] >>> c = [c + d uchun c 'ro'yxat'da c agar c != 'i' d uchun 'spam' bo'lsa d != 'a'] >>> c ['ls', 'lp', 'lm', 'ss', 'sp' , 'sm', 'ts', 'tp', 'tm']

Biroq, bir nechta ro'yxatlarni tuzishda ushbu avlod usuli har doim ham samarali emas. Shuning uchun, ro'yxatlarni yaratish uchun for tsiklidan foydalanish tavsiya etiladi.

Agar siz ro'yxatdagi biron bir elementga murojaat qilishingiz kerak bo'lsa, unda indekslar ishlatiladi. Har bir element o'z indeksiga ega.

Indeks - bu ro'yxatdagi elementning raqami.

Agar siz ro'yxatni takrorlanuvchi, bir xil elementlar bilan to'ldirishni istasangiz, * belgisi ishlatiladi. Masalan, ro'yxatga uchta bir xil raqam qo'shishingiz kerak: [100] * 3.

Ro'yxatga olish funktsiyalari

vazifalari - bu Pythonning boshqa dasturlash tillaridan asosiy afzalligi. Asosiy o'rnatilgan funktsiyalar ro'yxatlarga qo'llanilishi mumkin.

Ulardan eng mashhurlarini ko'rib chiqing:

  • ro'yxat (diapazon( )) – agar vazifa ketma-ket ro‘yxat yaratish bo‘lsa, diapazon funksiyasidan foydalaniladi. Ushbu funktsiya quyidagi shakllarga ega:
  1. diapazon (oxiri). U noldan chekli songacha ro'yxat yaratish zarur bo'lganda qo'llaniladi.
  2. diapazon (boshlash, tugatish). Boshlanish va tugatish raqamlari ko'rsatilgan.
  3. diapazon (boshlash, tugatish, qadam). Qadam parametri tanlov xarakteristikasini belgilaydi. Misol uchun, agar siz 1 dan 21 gacha bo'lgan ketma-ketlikdan har beshinchi raqamni tanlashingiz kerak bo'lsa, natijada ro'yxat quyidagicha ko'rinadi: [10,15, 20].

Rang funksiyasi kod miqdorini sezilarli darajada kamaytirishi mumkin.

  • zig'ir (ro'yxat) – roʻyxatda nechta element borligini aniqlash imkonini beradi.
  • tartiblangan (roʻyxat, [kalit]) – roʻyxatdagi obyektlarni oʻsish tartibida tartiblaydi.
  • maksimal (ro'yxat) – eng katta elementni qaytaradi.
  • min (ro'yxat) – qarama-qarshi funksiya – elementni minimal qiymat bilan qaytarish imkonini beradi.

Siz boshqa o'rnatilgan funktsiyalardan ham foydalanishingiz mumkin:

  • ro'yxat (to'plam) – Tuple obyektini ro‘yxatga o‘zgartiradi.
  • summa (ro'yxat) - agar barcha qiymatlar raqamlar bo'lsa, ro'yxatdagi barcha elementlarni jamlaydi, ham butun son, ham o'nlik uchun amal qiladi. Biroq, u har doim ham buni to'g'ri tushunmaydi. Agar ro'yxatda raqamli bo'lmagan element mavjud bo'lsa, funktsiya xatoga yo'l qo'yadi: "TypeError: +: "int" va "str" ​​uchun qo'llab-quvvatlanmaydigan operand turi(lar)".

Ro'yxatga olish usullari

Python-da ro'yxatlar (ro'yxat). Funktsiyalar va usullar ro'yxati
Python usullari ro'yxati

Keling, do'konda sotib olinadigan narsalar ro'yxatiga qaytaylik va uni do'kon ro'yxati deb ataymiz:

do'kon ro'yxati = []

Keyinchalik, ro'yxatga olish usullarini ko'rib chiqing:

  • qo'shish (element) - uning yordami bilan siz ro'yxatga element qo'shishingiz mumkin. Bunday holda, yangi element oxirida bo'ladi.

Keling, yangi ro'yxatimizni kerakli mahsulotlar bilan to'ldiraylik:

shoplist.append(non)

shoplist.append(sut)

  • ro'yxat.uzaytirish(A) – “roʻyxatni roʻyxatga” qoʻshadi. Bu xususiyat vaqtni tejaydi, chunki siz bir vaqtning o'zida bir nechta narsalarni qo'shishingiz mumkin. Aytaylik, bizda allaqachon mevalar ro'yxati bor, ularni asosiy ro'yxatga qo'shishimiz kerak.

shoplist.extend(mevalar)

  • kiritish (indeks, element) – ko‘rsatilgan indeksga ega elementga ko‘rsatilgan indeksdan oldin belgilangan qiymatni kiritadi.
  • lcount (element) – elementning takrorlanish sonini ko'rsatadi.
  • ro'yxat.olib tashlash (buyum) qarama-qarshi funktsiyadir ro'yxat.qo'shish (x). U har qanday elementni olib tashlash uchun ishlatilishi mumkin. Agar tanlangan element ro'yxatda bo'lmasa, xato haqida xabar beriladi.
  • pop([indeks]) – tanlangan elementni olib tashlaydi va xuddi shu tarzda qaytaradi. Agar element ko'rsatilmagan bo'lsa, oxirgi element ro'yxatdan o'chiriladi.
  • tartiblash([tugma]) – roʻyxatdagi elementlarni oʻsish tartibida joylashtiradi, lekin siz funksiyani ham belgilashingiz mumkin.
  • indeks (modda) – birinchi tanlangan element indeksini ko'rsatadi.
  • Usuldan foydalanib, siz ro'yxatni kengaytirishingiz, ya'ni uning barcha elementlarini aks ettirishingiz mumkin teskari (ro'yxat). Oxirgi element birinchi bo'lib, oxirgi element ikkinchi bo'ladi va hokazo.
  • Buyruq bilan ro'yxatning nusxasi tuziladi nusxa ko'chirish (ro'yxat).
  • chuqur nusxa (ro'yxat) - chuqur nusxa ko'chirish.
  • Usul yordamida barcha ro'yxat elementlarini olib tashlang aniq (ro'yxat).

Shuni ta'kidlash kerakki, listing usullari string usullaridan farq qiladi, chunki ular darhol ro'yxatni o'zgartiradi, ya'ni bajarilish natijasini qaytarishning hojati yo'q.

>>> l = [1, 2, 3, 5, 7] >>> l.sort() >>> l [1, 2, 3, 5, 7] >>> l = l.sort() > >> print(l) Yo‘q

Quyida ro'yxatlar bilan ishlash misoli keltirilgan:

>>> a = [66.25, 333, 333, 1, 1234.5] >>> chop (a.count(333), a.count(66.25), a.count('x')) 2 1 0 >>> a.insert(2, -1) >>> a.apppend(333) >>> a [66.25, 333, -1, 333, 1, 1234.5, 333] >>> a.index(333) 1 >> > a.remove(333) >>> a [66.25, -1, 333, 1, 1234.5, 333] >>> a.reverse() >>> a [333, 1234.5, 1, 333, -1, 66.25 ] >>> a.sort() >>> a [-1, 1, 66.25, 333, 333, 1234.5]

Leave a Reply