Kako koristiti razumijevanje popisa u Pythonu

Kako koristiti razumijevanje popisa u Pythonu

Pravodobno korištenje razumijevanja popisa u Pythonu može vam olakšati operacije ponavljanja popisa. Osim što je jedna linija, čitljivija je i učinkovitije se izvršava.





Međutim, mogli biste se umoriti ako ne znate kako to koristiti. Čak može biti i frustrirajuće ako ne znate gdje to primijeniti u svom kodu. Ovdje ćemo vam pokazati kako koristiti razumijevanje popisa u Pythonu s nekim primjerima iz stvarnog života.





Što je razumijevanje popisa u Pythonu i kako to funkcionira?

Izrada popisa stavki s Pythonom je jednostavna. Međutim, zadatak može postati pomalo dosadan kada trebate generirati popis vrijednosti ili stavki iz matematičkih ili nizovanih operacija. Tada razumijevanje popisa može dobro doći.





Prednost korištenja razumijevanja popisa je ta što možete izvesti nekoliko operacija na jednom popisu.

kako zaobići profesionalnu lozinku za windows xp

Nasuprot tome, stvara nove stavke i dodaje ih na prazan popis koji automatski deklarira. Dakle, umjesto da ručno napravite prazan popis i dodate ga s za petlja, razumijevanje popisa Pythona omogućuje vam da to učinite automatski bez brige o tome kako novi popis dolazi.



Izraz 'razumijevanje popisa' proizlazi iz činjenice da su sve operacije na Python popisu dodijeljene imenovanoj varijabli. Kao što smo ranije naveli, omogućuje vam izvođenje određenih operacija u jednom retku koda. Zatim dodaje izlaz na novi popis.

U konačnici, također možete koristiti izlaz razumijevanja popisa u druge svrhe. To je zato što slaže izraze u zasebne varijable. Pa se kasnije na njih možete obratiti.





Na primjer, možda i jeste struganje web stranice s BeautifulSoupom . Pretpostavimo da namjeravate dobiti naziv svih artikala i njihove cijene s web stranice.

Zatim odlučujete umetnuti izbrisane podatke u CSV ili Excel datoteku. Idealna je praksa da izbrišete naziv svih artikala i njihove cijene te ih obje stavite u zasebne stupce. Međutim, korištenje razumijevanja popisa u tom slučaju osigurava da imate izbrisane podatke u namjenskim varijablama. Takve varijable možete kasnije pretvoriti u Python DataFrame.





Pogledajte primjer ispod:

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

Nakon što dobijete petlje s varijablama, možete ih staviti u zasebne stupce u okviru podataka pomoću Pythonovih Pandi.

Kako stvoriti i koristiti razumijevanje popisa u Pythonu

The za petlja je bitan iterator u razumijevanju popisa. Općenito, razumijevanje popisa u Pythonu ima ovaj format:

ComprehensionVariable = [expression for items in list]

Tiskanje ComprehensionVariable ispisuje rezultat gornjeg koda kao popis.

Međutim, pazite da razumijevanje popisa ne zamijenite s otvorenim za petlja.

Na primjer, idemo koristite otvorenu for petlju da biste dobili popis svih višekratnika od tri između 1 i 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 usporedbu ova dva učinimo istu stvar koristeći razumijevanje popisa:

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

Također možete koristiti razumijevanje popisa s uvjetnim izjavama. Primjer koda ispod ispisuje sve neparne brojeve između 1 i 10:

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

Ajmo sada i prepisati gornji kod koristeći open za petlja:

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 popis u Python

Razumijevanje popisa također prihvaća ugniježđene naredbe if:

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

Također je potrebno ugniježđeno za petlja:

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

Također možete imati čisto ugniježđeno za petlja u razumijevanju popisa:

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

Možete razumjeti nizove uz razumijevanje popisa Pythona. Pogledajmo dolje razumijevanje riječi:

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

Razumijevanje popisa može prihvatiti i funkciju koja izvodi određenu operaciju. Umetnimo funkciju množitelja koja dobiva parne brojeve u razumijevanju popisa da vidimo kako to funkcionira:

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]

Gore navedeni kod možete i dalje napisati u jednoj funkciji bez razumijevanja. No razumijevanje popisa korisno je kada trebate izvesti nekoliko ponavljanja i svaku od njih smjestiti u zasebne varijable.

Na primjer, možete izvršiti drugu operaciju na n i za to imaju namjensku varijablu. Promijenimo gornje razumijevanje kako bismo generirali parne brojeve od neparnih:

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

Rječnik i skup razumijevanja

Osim razumijevanja popisa, Python nudi i rječnik i niz funkcija razumijevanja.

Pogledajte donji primjer razumijevanja rječnika kako biste vidjeli kako to funkcionira:

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}

Gornji kôd ponavlja popis brojeva između 1 i 9 i čini ih ključevima. Zatim govori Pythonu da svaki ključ pomnoži s dva. Konačno, prikazuje rezultate te operacije kao odgovarajuće vrijednosti za svaki ključ u rezultirajućem nizu.

Povezano: Kako nizovi i popisi rade u Pythonu

Skupno razumijevanje pomalo je slično razumijevanju popisa. Evo primjera shvaćenog skupa:

najbolja aplikacija za čišćenje Androida bez oglasa
numbers = {i**(2) for i in range(10) if i%4==0}
print(numbers)
Output: {0, 16, 64}

Međutim, za razliku od razumijevanja popisa, razumijevanje skupa uklanja duplikate:

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}

Gornji kôd možete isprobati pomoću razumijevanja popisa kako biste vidjeli u čemu se razlikuju.

Možete li koristiti razumijevanje popisa svaki put?

Pogledali smo različite primjere razumijevanja popisa i gdje ih možete koristiti. Međutim, kao i svaka druga Python metoda, slučaj razumijevanja popisa ovisi o specifičnom problemu koji želite riješiti. Stoga ga trebate koristiti samo ako je idealan za određeni problem koji želite riješiti.

Jedna od svrha razumijevanja popisa je pojednostaviti vaš kôd i učiniti ga čitljivijim. Stoga, izbjegavajte složenost pri rješavanju toga. Na primjer, dugo razumijevanje Pythona može postati složeno za čitanje. Time se poništava svrha.

Udio Udio Cvrkut E -pošta Kako koristiti razumijevanja popisa Python (i kada ih ne koristiti)

Evo svega što trebate znati o korištenju ove nevjerojatne značajke Pythona koja će vam povećati produktivnost i čitljivost koda preko noći.

Pročitajte Dalje
Povezane teme
  • Programiranje
  • Piton
O autoru Idisou Omisola(94 objavljena članka)

Idowu je strastven u bilo čemu pametnom tehnologiji i produktivnosti. U slobodno vrijeme igra se kodiranjem i prebacuje na šahovsku ploču kad mu je dosadno, ali također voli povremeno odmaknuti se od rutine. Njegova strast prema pokazivanju ljudi suvremene tehnologije motivira ga da piše više.

Više od Idowua Omisole

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e -knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu