Uvod u Popis razumijevanja Python

Razumijevanja pružaju kratak i jednostavan način konstruiranja novih sekvenci koristeći već definirane sekvence u Pythonu. Ove sekvence mogu biti popisi, skupovi, rječnici, itd. Razumijevanje popisa jedna je od vrijednih značajki Pythona. Ukratko, Popis razumijevanja nudi način stvaranja novih popisa na temelju postojećih popisa. Drugim riječima, Popis razumijevanja jedan je jednostavan način stvaranja popisa na temelju nekih iterabilnih. Ovdje je iterabilno sve što se može upotrijebiti za prelazak preko petlje. Razumijevanja popisa omogućuju upotrebu alternativnog sintaksa za izradu popisa i bilo koje druge uzastopne vrste podataka u pythonu. Kasnije ćemo pogledati kako su ovi korisni. Postoje 3 komponente razumijevanja popisa, a to su:

  • Izlazni izraz: Ovaj je neobavezan i može se zanemariti.
  • Iterable.
  • Varijabla koja predstavlja članove iterabilne, često se naziva Iterator Variable.

Sintaksa i primjeri:

U pythonu možemo stvoriti Popis razumijevanja koristeći sljedeću sintaksu:

list_variable = (x for x in iterable)

Kao što možete vidjeti u Popis shvaćanja, popis je dodijeljen varijabli. Pogledajmo primjer, prvo možemo razmotriti metodu za pronalaženje kvadrata broja pomoću petlje:

Kodirati:

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

Izlaz:

E sad, razmotrimo što ćemo učiniti isto, ali koristeći Popis razumijevanja umjesto petlje:

Kodirati:

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

Izlaz:

Ovdje možete vidjeti da se kvadratni uglati zagrade "()" upotrebljavaju za označavanje da je izraz izraza unutar njih popis.

Navedi razumijevanja i lambda funkcije

Treba imati na umu da razumijevanje popisa nije jedini način kreiranja popisa, Python ima mnogo ugrađenih funkcija i lambda funkcije koje se mogu koristiti, kao što su:

Kodirati:

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

Izlaz:

Iako to funkcionira u mnogim slučajevima, Razumijevanja popisa su bolja za čitanje i lakše ih je razumjeti netko tko nije programer koda.

Dodavanje uvjeta u Popis razumijevanja

Slobodni ste koristiti bilo koji uvjet potreban unutar popisa razumijevanja za izmjenu postojećeg popisa. Pogledajmo primjer koji upotrebljava uvjet:

Kodirati:

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

Izlaz:

Evo još jednog primjera:

Kodirati:

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

Izlaz:

Upotreba ugniježđenih petlji u razumijevanjima popisa

Ako je potrebno, možemo upotrijebiti unesene petlje u shvaćanjima popisa, pogledajmo kako možemo koristiti ugniježđene petlje na taj način pronalaženjem transponiranja matrice:

Kodirati:

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)

Izlaz:

Primjeri Python razumijevanja popisa

Ispod su primjeri Popisa razumijevanja Pythona:

Primjer br. 1 - uklanjanje samoglasnika iz date rečenice

Kodirati:

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))

Izlaz:

Primjer br. 2 - mapiranje imena zemalja s njihovim glavnim gradovima

Kodirati:

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)

Izlaz:

Prednosti Lista razumijevanja Python

Moglo bi se pomisliti ako se petlje mogu koristiti za obavljanje gotovo svih shvaćanja popisa, zašto ih koristiti na prvom mjestu? Pa, odgovor je u brzini i vremenu koje je potrebno da biste izvršili zadatak i količini potrebne memorije. Kad se shvati popis, već smanjujemo 3 retka koda u jedan, a kada je gotov, kod je daleko brži nego kad se suoči s razumijevanjem popisa, python prvo dodijeli memoriju za popis, a zatim doda elemente unutar njega. Također, bez sumnje je to elegantniji i sofisticiraniji način kreiranja popisa temeljenih na već postojećim popisima.

Zaključak

Sada kada smo imali iskustva s razumijevanjima popisa, lako je razumjeti na koji način nam oni omogućavaju da jedan popis transformiramo u novi popis. Oni imaju jednostavnu sintaksu koja ograničava količinu posla koja je potrebna za stvaranje popisa. S obzirom na to da su sintaksa i struktura popisa razumijevanja u osnovi slični napomenama za sastavljanje seta, oni postaju druga priroda za programere i brzo osiguravaju da će se, nakon što se kôd preda drugoj osobi na održavanje i proširenje, lako razumjeti i Raditi sa.

Preporučeni članak

Ovo je vodič za Popis razumijevanja Python. Ovdje smo raspravljali o razumijevanjima popisa i lambda funkcijama, zajedno s implementacijom i izlazom koda. Možete i proći naše druge predložene članke da biste saznali više -

  1. Destruktor u Pythonu s prednostima
  2. Radite dok se petljajte u Python-om s dijagramom
  3. Niz nizova u Python-u sa metodama
  4. Što su AWS Lambda Slojevi?
  5. PL / SQL tipovi podataka
  6. Niz nizova u JavaScript-u
  7. Različite vrste SQL podataka s primjerima
  8. Kompletan vodič za niz struna

Kategorija: