Négy adatszerkezet, négy feladat
Az adatelemzésben ritkán dolgozunk egyetlen értékkel. Az adatokat gyűjteményekben tároljuk, és a Python négy beépített adatszerkezete a leggyakoribb. A lista rendezett és módosítható, a tuple rendezett de nem módosítható, a halmaz egyedi elemek rendezetlen gyűjteménye, a szótár pedig kulcs és érték párokat tárol. Mindegyiknek megvan a maga tipikus szerepe.
Lista
A lista a leggyakoribb gyűjtemény. Szögletes zárójelben, vesszővel elválasztva soroljuk fel az elemeit, és az elemekhez a nullától induló index alapján férünk hozzá. A lista módosítható, elemet az append metódussal fűzünk a végére, az insert egy adott pozícióba szúr be, a remove pedig érték szerint töröl. A sort helyben rendezi a listát.
arak = [2990, 1490, 3990]
arak.append(990) # a vegere fuz
print(arak[0]) # 2990 (elso elem)
print(arak[-1]) # 990 (utolso elem)
print(arak[0:2]) # [2990, 1490] (szeleteles)
arak.sort()
print(arak) # [990, 1490, 2990, 3990]
A lista indexelhető és szeletelhető. Az index nullától indul, a negatív index a vég felől számol.
Lista comprehension
A Python egyik legjellegzetesebb eszköze a lista comprehension. Egyetlen tömör kifejezéssel új listát állít elő egy meglévő sorozat elemeiből, és egy feltétellel szűrni is lehet. Ugyanez for ciklussal is megírható, de a comprehension rövidebb és az adatelemzésben nagyon gyakori.
szamok = [1, 2, 3, 4, 5]
negyzetek = [x**2 for x in szamok]
print(negyzetek) # [1, 4, 9, 16, 25]
parosak = [x for x in szamok if x % 2 == 0]
print(parosak) # [2, 4]
A lista comprehension egy sorozatból új listát épít, opcionális szűrési feltétellel.
Szótár
A szótár kulcs és érték párokat tárol. A kulcs alapján gyorsan elérjük a hozzá tartozó értéket, ezért ideális névvel azonosított adatokhoz. Kapcsos zárójelben adjuk meg, a kulcsot és az értéket kettőspont választja el. A kulcsok bejárása és a párok végigolvasása az items metódussal történik. Az in operátorral pedig ellenőrizhető, hogy egy kulcs szerepel-e a szótárban.
termek = {"nev": "kave", "ar": 2990, "raktaron": True}
print(termek["ar"]) # 2990
termek["ar"] = 3190 # ertek modositasa
print("nev" in termek) # True
for kulcs, ertek in termek.items():
print(kulcs, ertek) # nev kave / ar 3190 / raktaron True
A szótár kulcs alapján ad hozzáférést. Az items metódus a kulcs és érték párokat járja be.
Tuple és halmaz
A tuple olyan, mint a lista, de nem módosítható, ezért állandó, összetartozó értékek tárolására jó, például egy koordinátára. A halmaz egyedi elemeket tárol rendezetlenül, így kiválóan alkalmas duplikátumok kiszűrésére és a gyors tartalmazás vizsgálatra. A halmazon uniót, metszetet és különbséget is lehet képezni.
pont = (47.5, 19.0) # tuple, nem modosithato
x, y = pont # kicsomagolas
print(x) # 47.5
latogatok = [3, 3, 5, 8, 8, 8]
egyedi = set(latogatok) # duplikatumok kiszurese
print(egyedi) # {8, 3, 5}
print(8 in egyedi) # True
A tuple kicsomagolható több változóba. A halmaz eltávolítja a duplikátumokat és gyors tartalmazás vizsgálatot ad.
Függvények
A függvény egy néven nevezett, újrahasználható kódrészlet. A def kulcsszóval hozzuk létre, zárójelben soroljuk fel a paramétereit, a return utasítás pedig visszaadja az eredményt. A paramétereknek alapértelmezett értéket is adhatunk, így a hívó elhagyhatja őket. A függvények teszik a kódot áttekinthetővé, mert a logikát egyszer írjuk meg és többször hívjuk.
def brutto_ar(netto, afa=0.27):
return netto * (1 + afa)
print(brutto_ar(1000)) # 1270.0 (alapertelmezett afa)
print(brutto_ar(1000, 0.05)) # 1050.0 (megadott afa)
A def függvényt hoz létre, a return visszaadja az eredményt, a paraméter pedig kaphat alapértelmezett értéket.
Válaszd a feladathoz illő szerkezetet. Sorrendhez és módosításhoz listát, állandó értékhez tuple-t, egyediséghez halmazt, névvel azonosított adathoz szótárt. A függvények pedig a logikát fogják össze egy néven.
Workshop
AI Transformation Day
Egésznapos, vezetőknek szóló program. Feltérképezzük, hol tart a szervezet, mi az első reális lépés, és milyen belső feltételek szükségesek a sikerhez. A nap végén konkrét, prioritizált cselekvési lista.
Érdekel a program →