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

map.csv
1,2,3,4,6

Ha 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.

map.py
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