map
Egyik legfontosabb függvényünk a map(fun, iter), így neki külön oldalt szentelünk.
Beolvasásnál láthattuk, hogy problémát okozhat, ha csak számokat szeretnénk beolvasni, mivel a beolvasás stringet ad vissza minden esetben. Ilyenkor, és még rengeteg esetben használható a map függvény.
map(fun, iter)
Paraméterei között a fun egy függvényt jelöl, az iter pedig egy olyan objektumot, "amin végig lehet menni". A működése egyszerűen annyi, hogy az objektum összes elemén végigmegy, és alkalmazza rajtuk a fun függvényt.
Nézzünk is pár példát
1,2,3,4,6Ha egyszerűen csak be akarnánk olvasni ezt a fájlt, akkor egy egyszerű stringet kapnánk vissza, így alkalmazzuk a map függvényt.
f = open("map.csv")
s = list(map(int, f.readline().split(",")))
print(s)
f.close()Nézzük meg lépésenként, hogy mi is történik.
elso = f.readline()+-------------+
| elso |
+-------------+
| "1,2,3,4,6" |
+-------------+m = elso.split(",")+------+------+------+------+------+
| m[0] | m[1] | m[2] | m[3] | m[4] |
+------+------+------+------+------+
| "1" | "2" | "3" | "4" | "6" |
+------+------+------+------+------+Vegyük észre, hogy m minden eleme string, és nem int.
h = map(int, m)Ez egyfajta map objektumot ad vissza, de ez így nem lesz jó nekünk még teljesen.
<map object at 0x7f2c15c187f0>list() segítségével alakíthatjuk listává. Listákról később lesz még szó.
+------+------+------+------+------+
| h[0] | h[1] | h[2] | h[3] | h[4] |
+------+------+------+------+------+
| 1 | 2 | 3 | 4 | 6 |
+------+------+------+------+------+Végeredményképpen egy olyan listát kapunk, amelynek minden eleme int.
Last updated