Luettelon, joukon ja sanakirjan ymmärtäminen Pythonissa
Tutustutaan luettelon, sanakirjan ja joukon ymmärtämiseen Pythonissa.
Komprehensseja Pythonissa:
Käsitteistö koostuu yhdestä lausekkeesta, jota seuraa vähintään yksi for
-lauseke ja nolla tai useampi for
– tai if
-lauseke.
Pythonissa on kolme käsitteistöä.
Luettelon käsitteistöt:
Luettelon käsitteistöt tarjoavat ytimekkään tavan luoda luetteloita. Yleisiä käyttökohteita ovat uusien listojen luominen, joissa jokainen elementti on tulosta joistakin operaatioista, joita sovelletaan toisen sekvenssin tai iterable-olion jokaiseen jäseneen, tai sellaisten elementtien osajonon luominen, jotka täyttävät tietyn ehdon. – python docs
Syntaksi:
Lauseke voi olla mikä tahansa mielivaltainen lauseke, monimutkainen lauseke, tuple, sisäkkäisiä funktioita tai jokin muu listan ymmärtäminen.
Tämä vastaa
for item in iterable:
if conditional:
expression
Palautustyyppi:
List
Luettelokäsitteistön käyttäminen:
Luettelokäsitteistö koostuu hakasulkeista, jotka sisältävät lausekkeen, jota seuraa
for
-lauseke, ja sen jälkeen nolla tai useampi for
– tai if
-lauseke. Tuloksena on uusi lista, joka syntyy arvioimalla lauseketta sitä seuraavien for
– ja if
-lausekkeiden yhteydessä.
Luettelon ymmärtäminen vs. for- silmukka.
Luettelonkäsittelyn avulla se on tiiviimpi ja luettavampi verrattuna for loop.
Lukujen neliön löytäminen käyttämällä Luettelonkäsittelyä vs for-silmukka:
Luettelonkäsittely vs suodatin.
Palauttaa iteraattorin iteroitavissa olevien iteroitavien alkioiden niistä elementeistä, joiden kohdalla funktio palaa true. iterable voi olla joko sekvenssi, säiliö, joka tukee iterointia, tai iteraattori
Parillisten lukujen löytäminen listan ymmärtäminen vs filter():
3.Listan ymmärtäminen vs map.
map:
Palauttaa iteraattorin, joka soveltaa funktiota iterable:n jokaiseen elementtiin, jolloin saadaan tulokset.
Lukujen neliön löytäminen List Comprehension vs map():
List Comprehensionin sisäkkäiset silmukat.
List Comprehension voi sisältää yhden tai useamman for-lausekkeen.
Esimerkki 1: Listan tasoittaminen List Comprehensionilla, jossa on kaksi for-lauseketta:
5.Useita if-ehtoja List Comprehensionissa.
List Comprehension voi sisältää nolla tai useampia if-lausekkeita.
Esimerkki: Etsitään luvut, jotka ovat jaollisia 2:lla ja 3:lla.
Luettelon ymmärtämisessä lauseke voi olla tuple.
Luettelon ymmärtämisessä voimme mainita lausekkeen tupleena. Se on kirjoitettava sulkujen sisään. Muuten se aiheuttaa Error. Tuloksena on tupleluettelo.
Esimerkki 1: Tupleluettelon luominen käyttämällä List Comprehensionia kahdella ’for’-lausekkeella:
Jos lauseke on tuple ja jos sitä ei ole suljettu sulkujen sisälle, se herättää SyntaxError.
Esimerkki 2:zip()-funktion käyttäminen listan ymmärtämisessä:
Listan ymmärtämisessä voidaan kutsua metodia kullekin alkioelementille.
Esimerkki 1: Kutsutaan strip()-metodia kullekin listan alkioon. Sitä käytetään valkoisten välilyöntien poistamiseen.
Esimerkki 2: Kutsutaan upper()-metodia kullekin listan elementille.
Luettelon ymmärrettävyys voi sisältää monimutkaisia lausekkeita ja sisäkkäisiä toimintoja.
Esimerkki 1: Alla olevassa esimerkissä lausekkeessa käytämme strip-metodia ja int-funktiota.
Esimerkki 2: Alla olevassa esimerkissä lausekkeessa käytämme abs()-funktiota ja str()-funktiota.
Luettelonkäsittelyn sisäkkäisrakenteiset lausekkeet.
Luettelonkäsittelyn lausekkeisiin voi sisältyä myös jokin toinen luettelonkäsittely: Ensimmäinen lausekkeena annettu listakäsitys palauttaa listan parillisia lukuja 0-10. Sisäkkäinen listan ymmärtäminen palauttaa kyseisen lausekkeen (luettelo parillisista luvuista 0-10) kolme kertaa(range(3)).