KOMPREHENZIÓ

A komprehenzió Pythonban egy tömör, elegáns módja annak, hogy új adatstruktúrát hozzunk létre ciklus(ok) és feltételek alapján.
A komprehenzió egy olyan szintaktikai forma, amellyel:listát, halmazt (set), szótárt (dict) vagy generátort hozhatunk létre.
Általános alak:
{ kifejezés for elem in iterable if feltétel }
{mit csináljon, hányszor, milyen feltétellel}

LISTA1 példa:
Listafeltöltés random számokkal
import random
lista = [random.randint(1, 10) for i in range(5)]
print(lista)

LISTA2
szamok = [1, 2, 3, 4, 5]
negyzetek = [x**2 for x in szamok]
print(negyzetek)
Eredmény:[1, 4, 9, 16, 25]
Ez azt jelenti:
„Vedd minden x elemet a szamok listából, és tedd bele a négyzetét egy új listába.”

LISTA feltöltése feltétellel
Feltétellel: (csak a páros számokat fogja négyzetre emelni)
paros_negyzetek = [x**2 for x in range(10) if x % 2 == 0]
print(paros_negyzetek)
Eredmény:[0, 4, 16, 36, 64]

SZÖVEGLISTÁBÓL számlista
szavak = ["alma", "körte", "banán"]
lista = [len(szo) for szo in szavak]
print(lista)
[4, 5, 5]

HALMAZ
parosak = {x for x in range(10) if x % 2 == 0}
print(parosak)
Eredmény:{0, 2, 4, 6, 8}


SZÓTÁR
Lista → szótár
szavak = ["alma", "körte", "banán"]
hosszak = {szo: len(szo) for szo in szavak}
print(hosszak)
Eredmény: {'alma': 4, 'körte': 5, 'banán': 5}

SZÓTÁR két listából
kulcsok = ["a", "b", "c"]
ertekek = [1, 2, 3]
szotar = {k: e for k, e in zip(kulcsok, ertekek)}
print(szotar)


Website templates by JustDreamweaver.com