Programiranje na Pythonu. Seznam v Python: Osnovne operacije

Pythonovi seznami so 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 obdelate veliko količino informacij in podatkovnih struktur vseh zahtevnosti.

Lastnosti in značilnosti seznama predmetov

Seznami so prilagodljivi in ​​spremenljivi tipi podatkov. Lahko so poljubne dolžine in vsebujejo neomejeno količino informacij. Kot element zaporedja je dovoljeno uporabljati nizove, preproste in veljavne številke, slovarje. Vsak seznam spremenljivk v Pythonu je mogoče posamično obdelati, izbrisati ali zamenjati. Seznam vsebuje določen nabor lastnosti, ki jih razlikuje od drugih vrst podatkov:
  • To so skupine objektov z urejenim pozicioniranjem od leve proti desni.
  • Seznami omogočajo dostop do odmika, tj. Števila objekta.
  • Pythonov seznam je heterogen. Zaporedje lahko vključuje predmete različnih vrst, vključno s številkami, preslikavami, vrsticami, datotekami.
  • Seznami spadajo v kategorijo spremenljivih objektov z neomejenim številom gnezdenja.
  • Seznami se lahko zamenjajo s sorodnimi podatkovnimi strukturami. V resnici pa so sklici na vsebnike, ne na njihove kopije. So kot imenik. Vsi elementi v seznamu kažejo na lokacijo, kjer se nahaja želeni predmet. Na tem seznamu je Python podoben nizom C jezika, vendar je implementiran v interpretatorju.

    Osnovne operacije zaporedij

    V jeziku formalno obstajajo tri kategorije. Te številke soprikaz in zaporedje, ki vključujejo seznam tipov. Za vsako skupino obstaja splošen sklop operacij. Na primer dodajte, odštejte in pomnožite številske objekte ali dostop do ključev do slovarjev.


    Zaporedja imajo tudi svoje karakteristične operacije:
  • dostop do elementa z uporabo indeksov __getitem __ ();
  • Določitev dolžine __len __ ();
  • združevanje z operaterjem "+";
  • Pridobivanje reza [:].
  • Seznami v akciji

    Seznami imajo širši nabor funkcij kot nizi v Pythonu. To je močno razvojno orodje s številnimi specifičnimi funkcijami, ki se uporabljajo samo za seznam tipov. Kakšen je videz seznama metod v praksi:
  • moj seznam = [eno, dve, tri] # oblikovanje novega seznama;
  • moj seznam;
  • ["ena", "2", "tri"];
  • len (moji oglasi);
  • 3 # tolmač vrne dolžino;
  • moj seznam [+ 1, 2, 3] # združevanje;
  • [ena, dva, tri, ena, dva, tri];
  • moj seznam * 2 # ponovitev;
  • [ena, dva, tri, ena, dva, tri].
  • Pri povezovanju na vsaki strani mora imeti znak "+" isto zaporedje, sicer bo tolmač izdal sporočilo o napaki:
  • [1, 2, 3] + 314 # TypeError: lahko le združi seznam (ne " float ») na seznam.
  • Da bi lahko sestavili niz in seznam v Pythonu, morate izvesti predhodno preoblikovanje tipa str:
  • second_list = list ("string") # pretvorba objekta "string";
  • drugi seznam;
  • ["c", "t", "p", "o", "k", "a"] # tolmač vrne seznam;
  • second_list + my_list;
  • ["c", "t", "p", "o", "k", "a","Ena", "2", "tri"].
  • Pri ustvarjanju seznama v Pythonu morate upoštevati stroga pravila sintakse. Vsak predmet mora biti v oglatih oklepajih, elementi pa so ločeni z vejicami.

    Kaj so generatorji ponovitev in seznamov

    Ponavljanje je postopek ponavljanja. V kontekstu seznamov je to napredujoči napredek na elementih ponovljenega predmeta. Na primer:
  • 3 v [1, 2, 3] # bo preveril, ali je navedena postavka vključena;
  • Res;
  • za x v [1, 2, 3, 4]: # bo opravil iteracijo;
  • natisni (x);
  • 1;
  • 2;
  • 3;
  • 4.
  • Če je iteracija preprosto obvod vsakega elementa, je generacija proces ustvarjanja novega predmeta seznama tipov. V Pythonu so generatorji seznamov podobni zankam za, vendar delujejo hitreje in lažje izgledajo kot sintaksa:
  • List_1 = [c * 4 za c v "SPAM"] # izgleda kot generacija;
  • Seznam_1;
  • ["SSSS", "PPPP", "AAAA", "MMMM"];
  • ​​
  • List_2 = [];
  • za c v "SPAM": # podobno generacijskemu ukazu;
  • List_2.append (c * 4) # list.append () dodaja nove elemente;
  • Seznam_2;
  • ["SSSS", "PPPP", "AAAA", "MMMM"].
  • V obeh primerih je rezultat enak. Vendar pa z uporabo generatorja koda postane veliko krajša in lažja. Ta pristop je popolnoma v skladu z zonom Pythona. To je zen, ali jezikovni kodeks, v katerem je ena od točk izjavila: "Lažje je zložiti se lažje."

    Izrez izreza in dostop do indeksa

    Ti dve operaciji sta povsem podobni in omogočata obdelavo posameznih postavk na seznamu v Pythonu. Vendar obstaja velika razlika. Zaradi indeksacije se vrne ločen del zaporedja. Rezina rezine ustvari nov predmettip seznam:

  • List1 = [spam, neželena pošta, spam!]
  • Seznam1
  • # offset odštevanje se začne iz nič
  • SPAM!
  • List1 [-2] # negativni premik: izpeljan na desno
  • "Neželena pošta"
  • Seznam [1:] # cutoff operacija vrne dele objekta
  • [«Spam», «SPAM!»]
  • Kako poteka postopek izločanja reza in njegovih možnosti

    Jezikovni konstrukti omogočajo ne le sprejemanje, ampak tudi spreminjanje posameznih elementov, kar jim daje nove pomene. Kot rezultat, vrne isti seznam, samo iz druge spremenljivke. Ta operacija je podobna dodelitvi z indeksom v jeziku C. Interpreter nadomesti staro sklicevanje na nov podani objekt v premiku:
  • my_list = [ena, osem, sto];
  • moj seznam [0: 2] = [devetdeset osem, devetdeset in devet];
  • moji oglasi;
  • ["devetdeset osem", "devetdeset-devet", "sto".
  • To je dokaj zapletena operacija, ki poteka v več fazah. Najprej tolmač izbriše vse elemente na levi strani operaterja. V tem primeru je "ena" in "osem". Potem se vsi predmeti na desni strani operaterja vstavijo na seznam, ki se začne z levega roba. Opisani postopek omogoča fleksibilno delo s kosi. Številka se izbriše in dodane postavke so lahko drugačne. Operacija je primerna za odstranjevanje in zamenjavo objektov, kot tudi za razširjanje seznamov. To je zmogljiv način za obdelavo kode. Toda programerji ga v praksi redko uporabljajo, raje preprostejša navodila vstavljajo, popajo in odstranjujejo.

    Posebne metode objektov seznama tipov

    Večinametode ali funkcije, katerih cilj je neposredno spreminjanje predmeta. Najpogostejši je .append (). Doda elemente na konec seznama:
  • my_L = ["I", "ljubezen", "program", "on"];
  • my_L;
  • ["I", "ljubezen", "program", "on"];
  • my_L.append ("Python") # bo dodal element, naveden v oklepajih;
  • my_L;
  • ["I", "ljubezen", "program", "on", "piton"].
  • Druga, enako priljubljena metoda se imenuje sort (). Zasnovan za sortiranje seznamov v Pythonu. Metoda izvede spremembo elementov s pomočjo standardnih primerjalnih operaterjev. Lahko se uporablja tudi za bolj kompleksne naloge z uporabo imenovanih argumentov:
  • L = ["abc", "ABD", "aBe"];
  • L. sorta (key = str.lower, reverse = True) # Spremeni smer razvrščanja;
  • L;
  • ["aBe", "ABD", "abc"].
  • V primeru je bil sintaktični konstrukt "name = value" uporabljen za prenos konfiguracijskih parametrov. Argument ključa vam omogoča, da podate lastne parametre za primerjavo. V tem primeru so to elementi majhne črke. Obrat pomeni »nasprotno«, torej v padajočem vrstnem redu in ne v rasti.

    Metode podvodnih kamnov

    Pri delu s temi metodami morate upoštevati naslednje funkcije: .sort () .append () spreminja seznam, vendar ga ne vrne. Oblikuj svoj seznam = List.sort () nima smisla in rezultata. Zato so v najnovejših različicah jezika razvijalci uvedli funkcijo sorted (), ki seznam uvrsti kot argument:

  • moj seznam = [1, 100, 56, 34, 2, 99];
  • dubl_scripts = my_list.sort ();
  • dubl_spesk # tolmač nič ne vrne;
  • moji oglasi;
  • [1, 2,34, 56, 99, 100];
  • dubl_scripts = razvrščeno (mylists);
  • dubl_scripts;
  • [1, 2, 34, 56, 99, 100] # tolmač vrne urejeno kopijo predmeta.
  • Dodatne metode

    Python ponuja dodatne metode za specializirano obdelavo seznamov. Če želite na primer spremeniti vrstni red naslednjih elementov, uporabite vzvratno. Razširite in pop metod, da prilepite več elementov do konca ali jih odstranite. Obstaja tudi obrnjena funkcija, ki je podobna sortiranemu, vendar uporabljenemu prek seznama klicev:
  • L;
  • [4, 3, 2, 1];
  • seznam (obrnjena (L)) # vgrajena funkcija sortiranja v obratnem vrstnem redu;
  • [1, 2, 3, 4].
  • Vse obravnavane transakcije se najpogosteje uporabljajo za sezname in so osnovne. Vendar obstajajo zelo specializirane metode. Na primer: .copy (), ki ustvari površinsko kopijo objekta, in .count (), ki vrne število elementov. Če si želite ogledati vse sezname funkcij, ki so na voljo na seznamu, morate vnesti pomoč () ali dir () v tolmač.

    Sorodne publikacije