Поведение при распаковке map() в List
Коллеги, подскажите пожалуйста, я что-то не понимаю, или так и должно быть?
Изначальная задача была следующая, я написал кастомный парсер аргументов для flast_restx, для возможности в args передавать аргумент типа ?...&postpress=1,2 :
get_calc_parser.add_argument('postpress', required=False, default=None, location='args', type=lambda x: map(int, x.split(',')))
Вот так выглядит обработчик на эндпоинте:
def get(self):
args = get_calc_parser.parse_args()
if calculation:
return {
'test': list(args.postpress)
}
в ответе JSON приходит пустой список:
{
"test": []
}
В режиме дебаггера все проверил, код корректно отрабатывается, то есть аргументы типа int фактически внутри списка. Но итоговое отображение не верное. Решил проверить это в Python Console и еще больше удивился:
Появилось теперь два вопроса:
Как же все таки распаковать функцию генератор в рамках flask_restx , чтобы не получить пустой список?
Почему list(w) на скриншоте - одноразовая функция. То есть один раз она отрабатывает, а после чего начинает так же возвращать пустой массив?
