V Pythonu so seznami urejene zbirke. So pomemben sestavni del programske kode. Seznami se nanašajo na vgrajene jezikovne objekte. Z njihovo pomočjo lahko hitro in učinkovito upravljate z veliko količino informacij in podatkovnih struktur vseh zahtevnosti.
Seznami so prilagodljivi in spremenljivi. podatkovni tip. Lahko so poljubne dolžine in vsebujejo neomejeno informacije. Kot element zaporedja je dovoljeno uporabljati nizove, preproste in realne številke, slovarje. Vsaka spremenljivka seznama v Pythonu je ločeno obdelana, izbrisana ali zamenjana.
Seznami imajo določen nabor lastnosti, ki jih razlikuje od drugih tipov podatkov:
Seznami se lahko zamenjajo s povezanimi podatkovnimi strukturami. V resnici pa gre za posode sklicevanja na predmete, ne pa na njihove kopije. So kot imenik. Vsi elementi seznama kažejo na lokacijo želenega objekta. Pri tem so seznami Python podobni nizom C, vendar so implementirani v interpretatorju.
Formalno obstajajo tri kategorije podatkov v jeziku. To so številke, zemljevidi in zaporedja, ki jim pripada vrsta seznama. Za vsako skupino obstaja skupen nabor operacij. Na primer, seštevanje, odštevanje in množenje za numerične objekte ali dostop do ključa za slovarje.
Zaporedja imajo tudi svoje karakteristične operacije:
Seznami imajo širši nabor zmožnosti kot nizi v Pythonu. Je zmogljivo razvojno orodje s številnimi specifičnimi funkcijami, ki veljajo samo za seznam tipov.
Kakšne so metode seznama v praksi:
Pri povezovanju na vsaki strani znaka »+« je treba najti zaporedja iste vrste, sicer bo prikazovalnik prikazal sporočilo o napaki:
Za dodajanje niza in seznama v Python morate izvesti predhodno konverzijo za vrsto str:
Pri ustvarjanju seznama v Pythonu se morate držati strogih pravil skladnje. Vsak predmet mora biti zaprt v oglatih oklepajih, elementi pa so ločeni z vejicami.
Ponavljanje je proces ponovitve. V kontekstu seznamov je to nadomestno napredovanje po elementih predmeta, ki se ponavlja. Na primer:
Če je iteracija le prečenje vsakega elementa, je generacija proces ustvarjanja novega predmeta seznama tipov. V Pythonu so seznami generatorjev podobni za zanke, vendar delujejo hitreje in sintaktično videti precej enostavneje:
V obeh primerih je rezultat enak. Toda z uporabo generatorja je koda veliko krajša in lažja. Ta pristop je v celoti skladen z zenom Pythona. To je Zen, ali koda jezika, v kateri se ena od točk glasi: »Enostavno je boljše kot zapleteno«
Ti dve operaciji sta po videzu podobni in omogočata obdelavo posameznih postavk seznama v Pythonu. Vendar obstaja velika razlika. Kot rezultat indeksiranja se vrne ločen del zaporedja. Izločanje rezine ustvari nov objekt seznama:
Jezikovni konstrukti ne omogočajo le ekstrahiranja, temveč tudi spreminjanja posameznih elementov in jim dodeljujejo nove vrednosti. Posledično se vrne isti seznam samo z drugo spremenljivko. Ta operacija je podobna dodelitvi na indeksu v jeziku C. Interpreter nadomesti staro sklicevanje na objekt, podan v odmiku, z novim:
To je dokaj zapletena operacija, ki se odvija v več fazah. Najprej tolmač izbriše vse elemente na levi strani operaterja. V tem primeru je to "ena" in "osem". Nato se na seznam vstavijo vsi predmeti na desni strani operaterja, začenši z levega roba.
Opisani postopek omogoča fleksibilno delo s kosi. Število elementov, ki jih želite odstraniti in dodati, se lahko razlikujejo. Operacija je primerna za odstranjevanje in zamenjavo objektov, kot tudi za razširjanje seznamov. To je zelo zmogljiv način za obdelavo kode. Toda programerji ga redko uporabljajo v praksi, raje preprostejše vstavljanje, pop in odstranjevanje navodil.
Večina metod ali funkcij je namenjena neposrednemu spreminjanju predmeta. Najpogostejši je .append (). Na konec seznama doda elemente:
Druga enako priljubljena metoda se imenuje sort (). Namenjen je za razvrščanje seznamov v Pythonu. Metoda preuredi elemente z uporabo standardnih operaterjev primerjave. Lahko se uporablja tudi za bolj zapletene naloge z uporabo imenovanih argumentov:
Primer je uporabil sintakso "name = value" za prenos nastavitev. Ključni argument vam omogoča, da nastavite lastne parametre za primerjavo. V tem primeru so to elementi z majhno črko. Obrat pomeni "nasprotno", to je v padajočem vrstnem redu, ne povečuje.
Pri delu s temi metodami je treba upoštevati naslednje funkcije: .sort () in .append () spremenite seznam, vendar ga ne vrnite. Konstrukcija my_list = List.sort () nima nobenega pomena ali rezultata. Zato so v najnovejših različicah jezika razvijalci uvedli funkcijo sorted (), ki seznam vzame kot argument:
Python nudi dodatne metode za izvajanje specializirane obdelave seznamov. Na primer, obratno se uporablja za spreminjanje vrstnega reda elementov. Če želite na koncu vstaviti več elementov ali izbrisati, potrebujete metode razširitve in pop. Obstaja tudi obrnjena funkcija, ki je podobna razvrščeni, vendar se uporablja prek klica seznama:
Vse obravnavane operacije se najpogosteje uporabljajo za sezname in so osnovne. Vendar obstajajo zelo specializirane metode. Na primer: .copy (), ki ustvari plitvo kopijo objekta, in .count (), ki vrne število elementov. Če si želite ogledati celoten seznam funkcij, ki so na voljo v Pythonu in se nanašajo na predmet seznama, morate v tolmač vnesti pomoč () ali dir ().