Очень часто я обрабатываю отдельные элементы кортежей, например:
size, duration, name = some_external_function()
size = int(size)
duration = float(duration)
name = name.strip().lower()
Если some_external_function
вернет какой-то одинаково типизированный кортеж, я мог бы использовать map
, чтобы иметь (более функциональное) закрытое выражение :
size, duration, name = map(magic, some_external_function())
Есть ли что-то вроде с точки зрения элемента map
? Что-то, что я мог бы выполнить так:
size, duration, name = map2((int, float, strip), some_external_function())
Обновление : я знаю, что могу использовать понимание вместе с zip
, например
size, duration, name = [f(v) for f, v in zip(
(int, float, str.strip), some_external_function())]
- I ' ищу решение 'pythoni c' (лучшее: встроенное)!
Для Python разработчиков :
А как насчет
(size)int, (duration)float, (name)str.strip = some_external_function()
? Если я увижу это в какой-либо следующей версии Python, я пришлю вам пиво :) 1030 *