Является ли оценка функции карты Python ленивой? ⇐ Python

Программы на Python
Anonymous
Является ли оценка функции карты Python ленивой?

Сообщение Anonymous »

Я решал задачу LeetCode 1331. Преобразование ранга массива и нашел однострочное решение:

Код: Выделить всё

class Solution:
def arrayRankTransform(self):
return map({e: i for i, e in enumerate(sorted(set(arr)), 1)}.get, arr)
Он оценивает словарь подстановки и сопоставляет с ним все элементы (что-то вроде метода перевода str). Но для этого решения у меня есть вопрос: словарь оценивает только один раз перед циклом по элементам или он выполняет повторную оценку для каждого элемента?
Другими словами, отображает ли сохраняет функцию перед итерацией или она снова оценивает функцию для каждого элемента?
Если вы можете ответить, предоставьте ссылку на документацию Python или исходный код

Подробнее здесь: https://stackoverflow.com/questions/790 ... ation-lazy

Вернуться в «Python»