Die Kartenfunktion mit Listenrückgabe hat den Vorteil, dass sie vor allem bei interaktiven Sitzungen Tipparbeit spart. Sie können definieren lmap
Funktion (in Anlehnung an die Python2-Funktion imap
), die Liste zurückgibt:
lmap = lambda func, *iterable: list(map(func, *iterable))
Dann rufen Sie lmap
anstelle von map
wird die Aufgabe erfüllen: lmap(str, x)
ist um 5 Zeichen (in diesem Fall 30%) kürzer als list(map(str, x))
und ist sicherlich kürzer als [str(v) for v in x]
. Sie können ähnliche Funktionen erstellen für filter
auch.
Es gab einen Kommentar zur ursprünglichen Frage:
Ich würde eine Umbenennung in Getting map() vorschlagen, um eine Liste in Python 3.* zurückzugeben, da es für alle Python3-Versionen gilt. Gibt es eine Möglichkeit, dies zu tun? - meawoppl 24. Januar um 17:58
Es でございます möglich, aber es ist eine sehr schlechte Idee. Nur zum Spaß, hier ist, wie Sie können ( sollte aber nicht ) es tun:
__global_map = map #keep reference to the original map
lmap = lambda func, *iterable: list(__global_map(func, *iterable)) # using "map" here will cause infinite recursion
map = lmap
x = [1, 2, 3]
map(str, x) #test
map = __global_map #restore the original map and don't do that again
map(str, x) #iterator