Функція карти, що повертається у списку, має перевагу в збереженні набору тексту, особливо під час інтерактивних сесій. Ви можете визначити lmapфункцію (за аналогією python2's imap), яка повертає список:
lmap = lambda func, *iterable: list(map(func, *iterable))
Тоді дзвінок lmapзамість " mapВиклик" зробить цю роботу:
lmap(str, x)він коротший на 5 символів (у цьому випадку на 30%), ніж list(map(str, x))і, звичайно, коротший [str(v) for v in x]. Ви також можете створити подібні функції filter.
Був коментар до початкового питання:
Я б запропонував перейменувати в Getting map (), щоб повернути список у Python 3. *, як це стосується всіх версій Python3. Чи є спосіб це зробити? - meawoppl 24 січня о 17:58
Це є можливість зробити це, але це дуже погана ідея. Просто для розваги, ось як ви можете ( але не повинні ) це робити:
__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
map()було видалено з мови, тому що немає ніяких причин використовувати її для розуміння списку чиforциклу.