У меня часто есть список пар, например
data = {{0,0.0},{1,12.4},{2,14.6},{3,25.1}}
, и я хочу что-то сделать, например Rescale
, для всех вторых элементов, не касаясь первых элементов. Самый простой способ, который я знаю:
Transpose[MapAt[Rescale, Transpose[data], 2]]
Должен быть способ сделать это без стольких транспонирования
ing. Я хочу, чтобы что-то вроде этого работало:
MapAt[Rescale, data, {All, 2}]
Но насколько я понимаю, MapAt
принимает спецификации стиля Position
вместо спецификаций стиля Part
. Какое решение является правильным?
я ищу решение, в котором мне не нужно повторяться, поэтому не хватает двойного транспонирования
или двойного [[All, 2] ]]
, поскольку я считаю повторение сигналом, я делаю что-то не самым простым способом. Однако, если для устранения повторения требуется введение промежуточных переменных или именованной функции или другой дополнительной сложности, возможно, решение транспонировать / непереносить уже правильно.