Kako uporabljati razumevanje seznama v Pythonu

Kako uporabljati razumevanje seznama v Pythonu

Pravočasna uporaba razumevanja seznamov v Pythonu vam lahko olajša ponovne operacije s seznami. Poleg tega, da je ena vrstica, je bolj berljiva in učinkovitejša.





Če pa ne veste, kako ga uporabiti, se boste morda utrudili. Lahko je celo bolj frustrirajoče, če ne veste, kje to uporabiti v svoji kodi. Tukaj vam bomo pokazali, kako uporabljati razumevanje seznamov v Pythonu z nekaj primeri iz resničnega življenja.





Kaj je razumevanje seznamov v Pythonu in kako deluje?

Ustvarjanje seznama elementov s programom Python je preprosto. Naloga pa lahko postane nekoliko dolgočasna, ko morate iz matematičnih operacij ali nizov ustvariti seznam vrednosti ali elementov. Takrat lahko razumevanje seznama pride prav.





Prednost uporabe razumevanja seznama je, da lahko na enem seznamu izvedete več operacij.

internet sam je bolečina v angleščini

V nasprotju s tem ustvari nove postavke in jih doda na prazen seznam, ki ga samodejno razglasi. Namesto, da ročno naredite prazen seznam in ga dodate z za zanka, razumevanje seznama Python vam to omogoča samodejno, ne da bi vas skrbelo, kako bo prišel nov seznam.



Izraz 'razumevanje seznama' izhaja iz dejstva, da so vse operacije na seznamu Python, dodeljene imenovani spremenljivki. Kot smo že povedali, vam omogoča izvajanje določenih operacij v eni vrstici kode. Nato doda izpis na nov seznam.

Končno lahko izid razumevanja seznama uporabite tudi za druge namene. To je zato, ker zloži izraze v ločene spremenljivke. Tako se lahko pozneje obrnete nanje.





Na primer, morda ste brisanje spletnega mesta s storitvijo BeautifulSoup . Predpostavimo, da nameravate dobiti ime vseh artiklov in njihove cene s spletnega mesta.

Nato se odločite, da boste posnete podatke shranili v datoteko CSV ali Excel. Idealna praksa je, da izbrišete imena vseh artiklov in njihove cene ter oboje postavite v ločene stolpce. Vendar pa uporaba razumevanja seznama v tem primeru zagotavlja, da imate izbrisane podatke v namenskih spremenljivkah. Te spremenljivke lahko kasneje pretvorite v Python DataFrame.





Oglejte si spodnji primer:

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

Ko dobite zančne spremenljivke, jih lahko nato postavite v ločene stolpce v okvirju podatkov s pomočjo Pythonovih Pand.

Kako ustvariti in uporabiti razumevanje seznama v Pythonu

The za zanka je bistveni ponavljalec pri razumevanju seznama. Na splošno razumevanje seznama v Pythonu ima to obliko:

ComprehensionVariable = [expression for items in list]

Tiskanje Spremenljivost prikaže rezultat zgornje kode kot seznam.

Vendar pazite, da razumevanja seznama ne zamenjate z odprtim za zanka.

Recimo uporabite odprto zanko for da dobite seznam vseh večkratnikov treh med 1 in 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]

Za primerjavo obeh naredimo isto s pomočjo razumevanja seznama:

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

Razumevanje seznama lahko uporabite tudi s pogojnimi izjavami. Spodnja koda natisne vsa liha števila med 1 in 10:

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

Zdaj pa prepišemo tudi zgornjo kodo z uporabo odprtega za zanka:

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

Povezano: Kako dodati seznam v Python

Razumevanje seznama sprejema tudi ugnezdene stavke if:

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

Potrebuje tudi ugnezdeno za zanka:

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

Lahko imate tudi navadno ugnezdeno za zanka v razumevanju seznama:

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

Z razumevanjem seznama Python lahko upravljate tudi nize. Poglejmo spodaj razumevanje besed:

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

Razumevanje seznama lahko sprejme tudi funkcijo, ki izvaja določeno operacijo. Vstavimo funkcijo množitelja, ki dobi parne številke v razumevanju seznama, da vidimo, kako to deluje:

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]

Zgornjo kodo lahko še vedno napišete v eno samo funkcijo brez razumevanja. Toda razumevanje seznama je koristno, če morate izvesti več ponovitev in vsako od njih postaviti v ločene spremenljivke.

Na primer, lahko izvedete drugo operacijo na n in imeti zanjo namensko spremenljivko. Prilagodimo zgornje razumevanje, da iz parnih dobimo parne številke:

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

Slovar in nastavitve razumevanja

Poleg razumevanja seznama Python ponuja tudi slovar in niz funkcij razumevanja.

Oglejte si spodnji primer razumevanja slovarja, da vidite, kako deluje:

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}

Zgornja koda pregleduje seznam številk med 1 in 9 in jih naredi za ključe. Nato Pythonu pove, da vsako tipko pomnoži z dvema. Končno predstavi rezultate te operacije kot ustrezne vrednosti za vsak ključ v nastalem nizu.

Povezano: Kako matrike in seznami delujejo v Pythonu

Določeno razumevanje je nekoliko podobno razumevanju seznama. Tu je primer določenega razumevanja:

najboljša aplikacija proti kraji za android
numbers = {i**(2) for i in range(10) if i%4==0}
print(numbers)
Output: {0, 16, 64}

Vendar pa za razliko od razumevanja seznama, razumevanje niza odstrani dvojnike:

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}

Zgornjo kodo lahko preizkusite s razumevanjem seznama, da vidite, kako se razlikujejo.

Ali lahko vsakič uporabite razumevanje seznama?

Ogledali smo si različne primere razumevanja seznama in kje jih lahko uporabite. Vendar pa je kot pri vsaki drugi metodi Python tudi primer razumevanja seznama odvisen od posebne težave, ki jo želite rešiti. Zato ga uporabite le, če je idealen za določeno težavo, ki jo želite rešiti.

Eden od namenov razumevanja seznama je poenostaviti kodo in jo narediti bolj berljivo. Zato se pri obravnavi izogibajte zapletenosti. Na primer, dolgo razumevanje Pythona se lahko zaplete pri branju. To krši svoj namen.

Deliti Deliti Cvrkutati E-naslov Kako uporabljati razumevanje seznama Python (in kdaj jih ne uporabljati)

Tukaj je vse, kar morate vedeti o uporabi te neverjetne funkcije Pythona, ki bo čez noč povečala vašo produktivnost in berljivost kode.

Preberite Naprej
Sorodne teme
  • Programiranje
  • Python
O avtorju Idisou Omisola(94 objavljenih člankov)

Idowu je navdušen nad vsemi pametnimi tehnologijami in produktivnostjo. V prostem času se poigrava s kodiranjem in se, ko mu je dolgčas, preklopi na šahovsko tablo, rad pa se občasno tudi loči od rutine. Njegova strast, da ljudem pokaže pot okoli sodobne tehnologije, ga motivira, da piše več.

Več od Idowu Omisola

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e -knjige in ekskluzivne ponudbe!

Kliknite tukaj, da se naročite