Johdanto luettelon ymmärtämiseen Python

Ymmärtäminen tarjoaa lyhyen ja helpon tavan rakentaa uusia sekvenssejä käyttämällä jo määriteltyjä sekvenssejä Pythonissa. Nämä sekvenssit voivat olla luetteloita, sarjoja, sanakirjoja jne. Luettelon ymmärtäminen on yksi Pythonin arvokkaista ominaisuuksista. Lyhyesti sanottuna List Comprehensions tarjoaa tavan luoda uusia luetteloita olemassa olevien luetteloiden perusteella. Toisin sanoen luettelon ymmärtäminen on yksi yksinkertainen tapa luoda luettelo jonkin toistettavuuden perusteella. Tässä toistettava on mitä tahansa, jota voidaan käyttää siirtymiseen. Lista ymmärtäminen mahdollistaa vaihtoehtoisen syntaksin luomisen luetteloiden ja muiden python-tietotyyppien luomiseen. Katsomme myöhemmin, kuinka nämä ovat hyödyllisiä. Luettelonmuodostuksessa on 3 komponenttia, nämä ovat:

  • Tuloslauseke: Tämä on valinnainen ja voidaan jättää huomioimatta.
  • Iterable.
  • Muuttuja, joka edustaa toistettavissa olevia jäseniä, sitä kutsutaan usein iteraattorimuuttujaksi.

Syntaksi ja esimerkit:

Pythonissa voimme luoda luettelon ymmärtämiä käyttämällä seuraavaa syntaksia:

list_variable = (x for x in iterable)

Kuten luettelon käsityksistä voi nähdä, luettelo on määritetty muuttujalle. Katsotaanpa ensin esimerkkiä, voimme harkita menetelmää numeron neliön löytämiseksi silmukan avulla:

Koodi:

numbers = (2, 5, 3, 7) square = () for n in numbers:
square.append(n**2)
print(square)

lähtö:

Harkitaan nyt saman tekemistä, mutta luettelon ymmärtämisen käyttämistä silmukan sijasta:

Koodi:

numbers = (2, 5, 3, 7) square = (n**2 for n in numbers) print(square)

lähtö:

Täällä voit nähdä, että hakasulkeilla “()” tarkoitetaan, että niiden sisällä oleva lauseke on luettelo.

Lista ymmärrykset ja lambda-toiminnot

Sinun tulisi pitää mielessä, että luettelon ymmärtäminen eivät ole ainoa tapa luoda luetteloita, Pythonissa on monia sisäänrakennettuja toimintoja ja lambda-toimintoja, joita voidaan käyttää, kuten:

Koodi:

letters = list(map(lambda x: x, 'human'))
print(letters)

lähtö:

Vaikka tämä toimii monissa tapauksissa, luettelon ymmärtämiset ovat paremmin luettavissa ja helpompi ymmärtää joku, joka ei ole koodin ohjelmoija.

Ehtojen lisääminen luettelon ymmärtämiin

Voit vapaasti käyttää mitä tahansa ehdollisia luettelon ymmärtämisen sisällä olemassa olevan luettelon muuttamiseen. Katsotaanpa esimerkkiä, jossa käytetään ehdollisia ehtoja:

Koodi:

numbers_list = ( x for x in range(20) if x % 2 == 0) print(numbers_list)

lähtö:

Tässä on toinen esimerkki:

Koodi:

numbers_list = (x for x in range(100) if x % 2 == 0 if x % 5 == 0) print(numbers_list)

lähtö:

Sisäkkäisten silmukoiden käyttö luettelon ymmärtämisissä

Tarvittaessa voimme käyttää sisäkkäisiä silmukoita luettelon ymmärtämisessä, katsotaanpa kuinka voimme käyttää sisäkkäisiä silmukoita tällä tavoin löytämällä matriisin siirto:

Koodi:

transposedmatrix = () matrix = ((1, 2, 3, 4), (4, 5, 6, 8)) for i in range(len(matrix (0))):
transposedmatrix_row = () for row in matrix:
transposedmatrix_row.append(row(i))
transposedmatrix.append(transposedmatrix_row)
print(transposedmatrix)

lähtö:

Esimerkkejä luettelomääräyksistä Python

Alla on esimerkkejä luettelon ymmärtämisistä Python:

Esimerkki 1 - Vokaalien poistaminen annetusta lauseesta

Koodi:

def eg_for(sentence):
vowels = 'aeiou'
filter_list = () for l in sentence:
if l not in vowels:
filter_list.append(l)
return ''.join(filter_list)
def eg_lc(sentence):
vowels = 'aeiou'
return ''.join(( X for X in sentence if X not in vowels))
Now, let's define the matrix, run the program and then check-out the results:
sentence = "hello from the other side"
print ("loop result: " + eg_for(sentence))
print ("LC result: " + eg_lc(sentence))

lähtö:

Esimerkki 2 - maiden nimien kartoittaminen niiden pääkaupungeilla

Koodi:

country = ( 'India', 'Italy', 'Japan' ) capital = ( 'Delhi', 'Rome', 'Tokyo' ) output_dict = ()
# Using loop for constructing dictionary
for (key, value) in zip(country, capital):
output_dict(key) = value
print("Output Dictionary using for loop:", output_dict)

lähtö:

Lista ymmärtämisen edut Python

Voidaan ajatella, jos silmukoita voidaan käyttää melkein kaiken luettelon ymmärtämisen tekemiseen, miksi käyttää niitä ensinnäkin? No, vastaus on nopea ja tehtävän suorittamiseen kuluva aika sekä tarvittava muisti. Kun luettelon ymmärtäminen tehdään, pelkistämme jo 3 koodiriviä yhdeksi ja kun se on tehty, koodi on paljon nopeampi, kun edessään luettelon ymmärtämistä, python varaa ensin luettelon muistin ja lisää sitten elementit sen sisään. Lisäksi se on epäilemättä tyylikäs ja hienostunut tapa luoda luetteloita, jotka perustuvat jo olemassa oleviin luetteloihin.

johtopäätös

Nyt kun meillä on ollut jonkin verran kokemusta luettelon ymmärtämisestä, on helppo ymmärtää, kuinka niiden avulla voimme muuttaa yhden luettelon uudeksi luetteloksi. Niillä on yksinkertainen syntaksi, joka rajoittaa luettelon luomiseen tarvittavaa työmäärää. Kun otetaan huomioon luettelon ymmärtämisen syntaksi ja rakenne, se on pohjimmiltaan kuin set-builder -merkintä, niistä tulee nopeasti toinen luonne ohjelmoijille ja varmistetaan, että kun koodi on annettu toiselle henkilölle ylläpitää ja laajentaa, se on helppo ymmärtää ja työskennellä.

Suositeltava artikkeli

Tämä on opas luettelon ymmärtämiseen Pythoniin. Tässä keskustellaan luettelon käsityksistä ja lambda-toiminnoista sekä koodin toteutuksesta ja tuotosta. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -

  1. Tuhoaja Pythonissa edut
  2. Tee silmukka Pythonissa vuokaavion avulla
  3. Kielisarja Pythonissa menetelmillä
  4. Mikä on AWS Lambda -kerrokset?
  5. PL / SQL-tietotyypit
  6. Kielisarja JavaScriptinä
  7. Erityyppiset SQL-tiedot esimerkkeinä
  8. Täydellinen opas jousimerkkijonoon