List, Set, Dictionary Comprehension in Python

Photo by Kara Eads on Unsplash

Comprehensions in Python:

A megértés egyetlen kifejezésből áll, amelyet legalább egy for záradék és nulla vagy több for vagy if záradék követ.

A Pythonban háromféle comprehension létezik.

Típusai a pythoni comprehensions(Kép forrása: Szerző)

List comprehension:

A list comprehensionok tömör módot biztosítanak listák létrehozására. Gyakori alkalmazásuk új listák készítése, ahol minden egyes elem egy másik sorozat vagy iterábilis minden egyes tagjára alkalmazott műveletek eredménye, vagy azoknak az elemeknek a részfolyamatainak a létrehozása, amelyek egy bizonyos feltételnek megfelelnek. – python docs

Szintaktika:

A kifejezés lehet bármilyen tetszőleges kifejezés, összetett kifejezés, tuple, egymásba ágyazott függvény vagy más listamegértés.

Ez egyenértékű a

for item in iterable:
if conditional:
expression

Return Type:

List

Listafelfogás használata:

A listafelfogás zárójelekből áll, amelyek egy kifejezést tartalmaznak, amelyet egy for záradék, majd nulla vagy több for vagy if záradék követ. Az eredmény egy új lista lesz, amely a kifejezés kiértékeléséből adódik az azt követő for és if záradékok kontextusában.

Listaszövegértés magyarázat(Kép forrása: Szerző)

Listaszövegértés vs for loop.

A List Comprehension használatával tömörebb és olvashatóbb a for loop.

Számok négyzetének megtalálása List Comprehension vs for ciklus segítségével:

for ciklus vs List comprehension

List comprehension vs filter.

Az iterátor visszaadása az iterábilis azon elemeiből, amelyekre a függvény igazat ad vissza. Az iterábilis lehet sorozat, iterációt támogató tároló vagy iterátor

Páros számok megtalálása listavégzéssel vs filter():

Listavégzés vs filter()

3.Listavégzés vs map.

map:

Egy iterátort ad vissza, amely az iterábilis minden elemére alkalmaz egy függvényt, megadva az eredményeket.

Számok négyzetének megtalálása List Comprehension vs map() segítségével:

List Comprehension vs map()

Beépített ciklusok List Comprehensionben.

A List Comprehension tartalmazhat egy vagy több for záradékot.

1. példa: Egy lista simítása List Comprehension segítségével két “for” záradékkal:

Lista simítása List comprehension segítségével

5. Több if feltétel a List Comprehensionben.

A List comprehension tartalmazhat nulla vagy több if záradékot.

Példa: A 2-vel és 3-mal osztható számok keresése.

List comprehension using two if clause

A kifejezés lehet tuple a List Comprehensionben.

List comprehensionben említhetjük a kifejezést tuple-ként. Ezt zárójelek közé kell írni. Ellenkező esetben Error-t fog kiírni. Az eredmény egy tuple-ok listája lesz.

1. példa: Tuple-ok listájának létrehozása List Comprehension segítségével két ‘for’ záradékkal:

List of tuple

Ha a kifejezés tuple, és ha nem zárójelben van, SyntaxError-t fog kiírni.

A kifejezést zárójelbe kell tenni, ha az egy tuple.

2. példa: A zip() függvény használata a lista megértésében:

zip() a lista megértésében

A lista megértése arra használható, hogy minden elemen meghívjunk egy metódust.

1. példa: A strip() metódus meghívása a lista minden elemén. A fehér szóközök eltávolítására szolgál.

a strip() metódus hívása minden elemen

2. példa: A upper() metódus hívása a lista minden elemén.

a upper() metódus hívása minden elemen

A listaértés tartalmazhat összetett kifejezéseket és egymásba ágyazott függvényeket.

Példa 1: Az alábbi példában a kifejezésben a strip metódust és az int függvényt használjuk.

Példa 2: Az alábbi példában a kifejezésben az abs() és str() függvényt használjuk.

Beépített listakifejtés.

A listakifejtésben szereplő kifejezés tartalmazhat egy másik listakifejtést is.

Példa: Az első, kifejezésként megadott List comprehension egy 0-tól 10-ig terjedő páros számok listáját adja vissza. A beágyazott listakifejtés háromszor adja vissza ezt a kifejezést (páros számok listája 0-tól 10-ig)(range(3)).

Beágyazott listakifejtés

.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.