Мне часто приходится применять последовательность унарных функций к последовательности одинаковой длины. Моя первая мысль - перейти с map()
, однако для этого требуется только одна функция, которая будет применена ко всем элементам в последовательности.
В следующем коде, например, я хочу применить str.upper()
к первому элементу и int
ко второму элементу в каждом a
. «transform
» - это заполнитель для эффекта, которого я хочу.
COLS = tuple([transform((str.upper, int), a.split(",")) for a in "pid,5 user,8 program,28 dev,10 sent,9 received,15".split()])
Есть ли какая-нибудь стандартная библиотека или другая хорошая реализация, которая может выполнить такое преобразование аккуратно?