Python programiranje. Seznam v Python: osnovne operacije

1. 3. 2020

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

Lastnosti in značilnosti predmeta seznama

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:

  • To so skupine objektov z urejenim pozicioniranjem od leve proti desni.
  • Seznami omogočajo dostop z odmikom, to je po številu objektov.
  • V Pythonu so seznami heterogeni. Zaporedje lahko vključuje predmete različnih vrst, vključno s številkami, zemljevidi, nizi, datotekami.
  • Seznami so kategorizirani kot spremenljivi objekti z neomejenim številom gnezdenj.

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

Osnovne operacije zaporedja

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:

  • dostop do elementa z uporabo indeksov __getitem __ ();
  • določanje dolžine __len __ ();
  • združevanje z operatorjem “+”;
  • izvleček slice [:].

Seznami v akciji

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:

  • >>> my_list = ["ena", "2", "tri") # ustvarite nov seznam;
  • >>> my_list;
  • ["Ena", "2", "tri";
  • >>> len (my_list);
  • 3 # tolmač vrne dolžino;
  • >>> my_list + [1, 2, 3] # opravi povezovanje;
  • ["Ena", "2", "tri", 1, 2, 3];
  • >>> moj_list * 2 # ponovitev;
  • ["Ena", "2", "tri", "ena", "2", "tri"].

Pri povezovanju na vsaki strani znaka »+« je treba najti zaporedja iste vrste, sicer bo prikazovalnik prikazal sporočilo o napaki:

  • >>> [1, 2, 3] + 3.14 # TypeError: seznam lahko združite le (ne "float").

Za dodajanje niza in seznama v Python morate izvesti predhodno konverzijo za vrsto str:

  • >>> second_list = list ("niz") # transformiraj objekt "string";
  • >>> second_list;
  • ["S", "t", "p", "o", "k", "a"] # interpreter vrne seznam;
  • >>> second_list + my_list;
  • ["S", "t", "p", "o", "k", "a", "ena", "2", "tri"].

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. seznam za sortiranje python

Kaj so iteracijski in seznamski generatorji?

Ponavljanje je proces ponovitve. V kontekstu seznamov je to nadomestno napredovanje po elementih predmeta, ki se ponavlja. Na primer:

  • >>> 3 v [1, 2, 3] # preverite, ali je navedena postavka vključena;
  • Res;
  • >>> za x v [1, 2, 3, 4]: # izvedite ponovitev;
  • print (x);
  • 1;
  • 2;
  • 3;
  • 4

Č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:

  • >>> List_1 = [c * 4 za c v "SPAM"] # tako izgleda generacija;
  • >>> Seznam_1;
  • [“SSSS”, “PPPP”, “AAAA”, “MMMM”];
  • >>> List_2 = [];
  • >>> za c v "SPAM": # podoben ukaz generacije;
  • List_2.append (c * 4) # list.append () dodaja nove elemente;
  • >>> Seznam_2;
  • [“SSSS”, “PPPP”, “AAAA”, “MMMM”].

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« generator seznamov python

Izvleček rezin in dostop do indeksa

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:

  • >>> List1 = ["spam", "Spam", "SPAM!"]
  • >>> List1 [2] # odmik se začne od nič
  • »SPAM!«
  • >>> List1 [-2] # negativni premik: štet od desne
  • Spam
  • >>> Seznam [1:] # operacija izvlečenja slice vrne odseke objekta
  • ["Spam", "SPAM!"]

Kako deluje ekstrakcija rezine in njene možnosti

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:

  • >>> my_list = ["ena", "osem", "sto"];
  • >>> my_list [0: 2] = ["devetdeset osem", "devetdeset-devet"];
  • >>> my_list;
  • ["Devetdeset osem", "devetdeset in devet", "sto"].

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. seznam funkcij za python

Posebne metode objektov seznama tipov

Večina metod ali funkcij je namenjena neposrednemu spreminjanju predmeta. Najpogostejši je .append (). Na konec seznama doda elemente:

  • >>> my_L = [“I”, “ljubezen”, “program”, “na”];
  • >>> my_L;
  • ["I", "ljubezen", "program", "on"];
  • >>> my_L.append (“Python”) # bo dodal element, podan v oklepajih;
  • >>> my_L;
  • ["I", "ljubezen", "program", "on", "Python"].

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:

  • >>> L = ["abc", "ABD", "aBe"];
  • >>> L.sort (key = str.lower, reverse = True) # Spremeni smer razvrščanja;
  • >>> L;
  • ["ABe", "ABD", "abc"].

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

Metode z pastmi

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:

  • >>> my_list = [1, 100, 56, 34, 2, 99];
  • >>> double_list = my_list.sort ();
  • >>> double_list # tolmač nič ne vrne;
  • >>> my_list;
  • [1, 2, 34, 56, 99, 100];
  • >>> double_list = razvrščeno (my_list);
  • >>> double_list;
  • [1, 2, 34, 56, 99, 100] # tolmač vrne razvrščeno kopijo objekta.

Dodatne metode

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:

  • >>> L;
  • [4, 3, 2, 1];
  • >>> seznam (obrnjena (L)) # vgrajena funkcija sortiranja v obratnem vrstnem redu;
  • [1, 2, 3, 4].

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 ().