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