Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- gerner1
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Szólánc.
- hmzs: Fujitsu Futro S920 csúcsra járatva
- Magga: PLEX: multimédia az egész lakásban
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- Geri Bátyó: Agglegénykonyha 14 – Kések, késélezés
- Geri Bátyó: Agglegénykonyha 13 – Néhány egyszerű, de finom étel
Új hozzászólás Aktív témák
-
cousin333
addikt
Ez a gyakran előforduló alap szituáció, ami egy lista (tágabban: egy iterálható objektum) elemein hajtja végre ugyanazt a függvényt:
lista = []for elem in elemek:lista.append(func(elem))A func() függvényhívásnak ott kell lennie különben egyszerűen csak átmásolnád a listát. Ugyanez rövidebben ún. list comprehension-nel:
lista = [func(elem) for elem in elemek]Gyakorlatilag a for ciklus belsejét kihoztuk az elejére, elhagytuk az append-et, és az egészből egy egysoros értékadást csináltunk. Az extra [] tulajdonképpen egy "konstruktor", egy "syntactic sugar" (van erre magyar kifejezés?), ami azt mondja, hogy az eredményt listába szeretném rendezni. Írhattam volna ezt is:
lista = list(func(elem) for elem in elemek)A [] helyett írhatnék mást is, a szándéktól függően: a {} például - kicsit más szintaxis mellett - egy szótárat (dictionary) hozna létre, míg a () egy generátor kifejezést. Ami egyébként megegyezik a fenti példával, csak a list függvény nélkül. Mint látható, Pythonban az egyes szintaktikai elemek ebben az esetben (is) nagyon szépen egymásra épülnek.
Namost az if kifejezés a fentieknek egy speciális esete: nem akarunk minden elemet felhasználni, csak azokat, amik egy bizonyos feltételnek megfelelnek. Mivel ez egy extra, opcionális eset, logikus, hogy a kifejezés végére kerül, ha egyáltalán szerepel:
lista = [func(elem) for elem in elemek if not elem % 3]Ugyanígy működik a feltételes értékadás is, amit axioma is írt, ami mondjuk C-ben az x = (a) ? m : n.
Pythonban pedig:
x = m if a else nHa nem lenne feltétel, akkor csak simán ezt írnánk:
x = mLátható, hogy a feltételes és feltétel nélküli értékadás ugyanúgy kezdődik, csak előbbi a feltétellel folytatódik.
Új hozzászólás Aktív témák
- Hardcore café
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Formula-1
- Okos Otthon / Smart Home
- Kész rémálom lesz Linuxot használni jövőre az USA egyes államaiban
- Világrekordot ünnepel az ASRock
- sziku69: Fűzzük össze a szavakat :)
- Diablo IV
- Lexus, Toyota topik
- Robogó, kismotor
- További aktív témák...
- BESZÁMÍTÁS! MSI A320M R5 1600 8GB DDR4 240GB SSD GTX 1050Ti 4GB ZALMAN T3 PLUS DeepCool 400W
- ÁRGARANCIA!Épített KomPhone i5 12400F 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- Beszámítás! Apple MacBook Air 13 2020 M1 8GB RAM 256GB SSD notebook garanciával hibátlan működéssel
- BESZÁMÍTÁS! Sony PlayStation 5 825GB SSD lemezes konzol fejhallgatóval garanciával hibátlan működés
- Apple iPhone 12 64GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
