- Samsung Galaxy A56 - megbízható középszerűség
- MWC 2026: Hálózattechnológiai mélyvíz Bóday Tamással. Mint rendesen.
- Xiaomi 17 - még mindig tart
- Xiaomi 17 Ultra - jó az optikája
- Milyen okostelefont vegyek?
- Google Pixel topik
- Maradt 46 mm a Xiaomi Watch S5, de nőtt a kijelző
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- iPhone topik
- Huawei Watch GT 6 és GT 6 Pro duplateszt
Ú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
- Nyomtató topik
- Viccrovat
- Milyen billentyűzetet vegyek?
- Samsung Galaxy A56 - megbízható középszerűség
- A tajvani chipgyártóknak is beteszi a kaput a Hormuzi-szoros lezárása
- Crimson Desert
- Kertészet, mezőgazdaság topik
- Samsung kuponkunyeráló
- MWC 2026: Hálózattechnológiai mélyvíz Bóday Tamással. Mint rendesen.
- World of Tanks - MMO
- További aktív témák...
- GAMER PC // ASUS TUF B650M-PLUS / R9 7900X / 64GB DDR5 / SAPPHIRE Radeon RX 7800 XT / 1TB M.2 SSD
- Intel Core i7-13700KF + ASUS Prime Z790-P WIFI + Kingston FURY Beast 32GB DDR5 6000MHz
- OH! Dell Latitude 7340 Üzleti Profi Fémházas Ultrabook Laptop 13,3" -65% i7-1365U 16/512 FHD IRIS Xe
- Azta Dell Latitude 7440 -65% Üzleti Profi Fémházas Érintős Ultrabook Laptop 14" i7-1365U 32/512 FHD+
- DJI Osmo Action 4 Adventure Combo + sok tartozékkal búvárkodáshoz
- Astro A50 4th Gen wireless + base station fejhallgató
- GYÖNYÖRŰ iPhone 14 Pro 128GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, MS4619, 100% Akksi
- HP EliteOne 800 G6 All-in-One i5-10500 16GB 512GB 24" Érintőkijelző!! 1 év garancia
- 4 db Lenovo LOQ (17IRX10) - Intel Core i7-13700HX, RTX 5060
- ÁRGARANCIA! Épített KomPhone Ultra 7 265KF 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


