Kuinka käyttää luettelon ymmärtämistä Pythonissa

Kuinka käyttää luettelon ymmärtämistä Pythonissa

Luettelon ymmärtämisen oikea -aikainen käyttö Pythonissa voi helpottaa iteratiivisia luettelotoimintoja. Sen lisäksi, että se on yksi rivi, se on luettavampi ja suoritetaan tehokkaammin.





Saatat kuitenkin saada töitä, jos et osaa käyttää sitä. Se voi olla jopa turhauttavampaa, jos et tiedä, missä sitä käytetään koodissasi. Tässä näytämme sinulle kuinka käyttää luettelon ymmärtämistä Pythonissa joidenkin tosielämän esimerkkien avulla.





Mikä on luettelon ymmärtäminen Pythonissa ja miten se toimii?

Kohdeluettelon luominen Pythonilla on helppoa. Tehtävästä voi kuitenkin tulla hieman tylsä, kun sinun on luotava luettelo arvoista tai kohteista matemaattisista tai merkkijonotoiminnoista. Tällöin luettelon ymmärtämisen käyttö voi olla hyödyllistä.





Luettelon ymmärtämisen etuna on, että voit suorittaa useita toimintoja yhdessä luettelossa.

kuinka suoratoistaa Steam -pelejä televisioon

Sitä vastoin se luo uusia kohteita ja liittää ne tyhjään luetteloon, jonka se ilmoittaa automaattisesti. Joten sen sijaan, että teet tyhjän luettelon manuaalisesti ja lisäät siihen a varten silmukka, Pythonin luettelon ymmärtämisen avulla voit tehdä tämän automaattisesti ilman, että vaivaudut uuden luettelon läpivientiin.



Termi 'luettelon ymmärtäminen' tulee siitä, että kaikki toiminnot ovat Python -luettelossa, joka on nimetty muuttujalle. Kuten aiemmin totesimme, sen avulla voit suorittaa tiettyjä toimintoja yhdellä koodirivillä. Sitten se lisää tuloksen uuteen luetteloon.

Lopulta voit käyttää luettelon ymmärtämisen tulosta myös muihin tarkoituksiin. Tämä johtuu siitä, että se pinottaa lausekkeet erillisiin muuttujiin. Voit siis viitata niihin myöhemmin.





Esimerkiksi saatat olla kaavitaan verkkosivusto BeautifulSoupilla . Oletetaan, että aiot saada kaikkien tuotteiden nimet ja niiden hinnat verkkosivustolta.

Päätät sitten sijoittaa kaapatut tiedot CSV- tai Excel -tiedostoon. Ihanteellinen käytäntö on kaapata kaikkien tuotteiden nimet ja niiden hinnat ja sijoittaa molemmat erillisiin sarakkeisiin. Luettelon ymmärtämisen avulla voit kuitenkin varmistaa, että kaapatut tiedot ovat erillisissä muuttujissa. Voit muuntaa tällaiset muuttujat myöhemmin Python DataFrame -kehykseksi.





Katso alla olevaa esimerkkiä:

Products = [i.text for i in bs.find_all('name tags')]
Price = [i.text for i in bs.find_all('price tags')]

Kun olet saanut silmukoidut muuttujat, voit sitten sijoittaa ne erillisiin sarakkeisiin DataFrame -kehykseen käyttämällä Pythonin pandoja.

Luettelon ymmärtämisen luominen ja käyttäminen Pythonissa

The varten silmukka on olennainen iteraattori luettelon ymmärtämisessä. Yleensä luettelon ymmärtäminen Pythonissa on seuraavassa muodossa:

ComprehensionVariable = [expression for items in list]

Tulostus Ymmärtäminen Muuttuva antaa yllä olevan koodin tuloksen luettelona.

Varo kuitenkin sekoittamasta luettelon ymmärtämistä avoimeen varten silmukka.

Esimerkiksi käytä avointa silmukkaa saadaksesi luettelon kaikista kolmen kerrannaisista välillä 1 ja 30:

myList = []
for i in range(1, 11):
myList.append(i * 3)
print(myList)
Output: [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]

Vertaa näitä kahta tekemällä sama asia käyttämällä luettelon ymmärtämistä:

multiplesOf3 = [i*3 for i in range(1, 11)]
print(multiplesOf3)
Output = [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]

Voit käyttää luettelon ymmärtämistä myös ehdollisten lausekkeiden kanssa. Alla oleva esimerkkikoodi tulostaa kaikki parittomat numerot välillä 1 ja 10:

oddNumbers = [i for i in range(1, 11) if not i%2==2]
print(oddNumbers)
Output = [1, 3, 5, 7, 9]

Kirjoita nyt myös yllä oleva koodi uudelleen avoimen avulla varten silmukka:

myList = []
for i in range(1, 11):
if not i%2 == 0:
myList.append(i)
print(myList)
Output: [1, 3, 5, 7, 9]

Aiheeseen liittyviä: Kuinka lisätä luettelo Pythoniin

Luettelon ymmärtäminen hyväksyy myös sisäkkäiset, jos lausumat:

oddNumbers = [i for i in range(1, 11) if not i%2==0 if i<4]
print(oddNumbers)
Output: [1, 3]

Se vie myös sisäkkäin varten silmukka:

someNums = [[i*2 for i in range(1, 3)] for _ in range(4)]
print(someNums)

Sinulla voi olla myös tavallinen sisäkkäin varten silmukan luettelon ymmärtäminen:

someNums = [i*2 for i in range(1, 3) for k in range(4)]

Voit manipuloida merkkijonoja myös Python -luettelon ymmärtämisellä. Katsotaanpa sananlaskurin ymmärtämistä alla:

word = ['This is a python list comprehension tutorial']
wordCounter = [i.count(' ') + 1 for i in word]
print(wordCounter)
Output: 7

Luettelon ymmärtäminen voi myös hyväksyä toiminnon, joka suorittaa tietyn toiminnon. Lisätään kerroinfunktio, joka saa parilliset numerot luettelon ymmärtämiseen nähdäksesi, miten tämä toimii:

Numbers = [4, 7, 8, 15, 17, 10]
def multiplier(n):
multiple = n*2
return multiple
multipleEven = [multiplier(i) for i in Numbers if i%2==0]
print(multipleEven)
Output: [8, 16, 20]

Voit silti kirjoittaa yllä olevan koodin yhteen funktioon ilman ymmärrystä. Mutta luettelon ymmärtäminen on hyödyllistä, kun sinun on suoritettava useita iteraatioita ja sijoitettava jokainen niistä erillisiin muuttujiin.

Voit esimerkiksi suorittaa toisen toiminnon n ja niille on oma muuttuja. Muokataan yllä olevaa ymmärrystä generoimaan parilliset luvut parittomista:

multipleEvenFromOdds = [multiplier(i) for i in Numbers if not i%2==0]
print(multipleEvenFromOdds)
Output: [14, 30, 34]

Sanakirja ja joukkokäsitykset

Luettelon ymmärtämisen lisäksi Python tarjoaa myös sanakirjan ja joukon ymmärryksen.

Katso alla oleva esimerkki sanakirjan ymmärtämisestä nähdäksesi, miten se toimii:

corresponding = {i: i*2 for i in range(10) if not i%2==0}
print(corr)
Output: {1: 2, 3: 6, 5: 10, 7: 14, 9: 18}

Yllä oleva koodi toistaa numeroluettelon 1 ja 9 välillä ja tekee niistä avaimet. Sitten se kehottaa Pythonia kertomaan jokainen avain kahdella. Lopuksi se esittää kyseisen operaation tulokset vastaavina arvoina tuloksena olevan taulukon jokaiselle avaimelle.

Aiheeseen liittyviä: Kuinka taulukot ja luettelot toimivat Pythonissa

Joukon ymmärtäminen on vähän samanlainen kuin luettelon ymmärtäminen. Tässä on esimerkki joukon ymmärtämisestä:

parhaat paikat mangan lukemiseen verkossa
numbers = {i**(2) for i in range(10) if i%4==0}
print(numbers)
Output: {0, 16, 64}

Toisin kuin luettelon ymmärtäminen, joukon ymmärtäminen poistaa kuitenkin kaksoiskappaleet:

nums = {i for i in range(20) if i%2==1 for k in range(10) if k%2==1}
print(nums)
Output: {1, 3, 5, 7, 9, 11, 13, 15, 17, 19}

Voit kokeilla yllä olevaa koodia käyttämällä luettelon ymmärtämistä nähdäksesi, miten ne eroavat toisistaan.

Voitko käyttää luettelon ymmärtämistä joka kerta?

Olemme tarkastelleet erilaisia ​​esimerkkejä luettelon ymmärtämisestä ja missä voit käyttää niitä. Kuitenkin, kuten mikä tahansa muu Python-menetelmä, luettelon ymmärtämisen käyttötapa riippuu siitä ongelmasta, jonka haluat ratkaista. Siksi sinun pitäisi käyttää sitä vain, jos se on ihanteellinen ratkaisemaan haluamasi ongelma.

Yksi luettelon ymmärtämisen tarkoituksista on yksinkertaistaa koodia ja tehdä siitä luettavampi. Joten vältä monimutkaisuutta käsitellessäsi sitä. Esimerkiksi pitkästä Python -ymmärryksestä voi tulla monimutkaista luettavaa. Se voittaa tarkoituksensa.

Jaa Jaa Tweet Sähköposti Kuinka käyttää Python -luettelon ymmärryksiä (ja milloin niitä ei käytetä)

Tässä on kaikki mitä sinun tarvitsee tietää tämän hämmästyttävän Python -ominaisuuden käytöstä, joka parantaa tuottavuuttasi ja koodin luettavuutta yön yli.

Lue seuraava
Liittyvät aiheet
  • Ohjelmointi
  • Python
Kirjailijasta Idisou Omisola(94 artikkelia julkaistu)

Idowu on intohimoinen kaikkeen älykkääseen tekniikkaan ja tuottavuuteen. Vapaa -ajallaan hän leikkii koodauksella ja vaihtaa shakkilaudalle, kun on kyllästynyt, mutta hän myös rakastaa irtautumista rutiinista silloin tällöin. Hänen intohimonsa näyttää ihmisille tie modernin tekniikan ympärillä motivoi häntä kirjoittamaan enemmän.

Lisää Idowu Omisolasta

tilaa uutiskirjeemme

Liity uutiskirjeeseemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia ​​e -kirjoja ja ainutlaatuisia tarjouksia!

Klikkaa tästä tilataksesi