Taking the square root of the first element of a list
MapAt[Sqrt, {{4, 1}, {9, 2}, {16, 3}, {25, 4}}, {All, 1}]
{{2, 1}, {3, 2}, {4, 3}, {5, 4}}
lst = {{4, 1}, {9, 2}, {16, 3}, {25, 4}};
lst[[All, 1]] = Sqrt@lst[[All, 1]];
lst
{{2, 1}, {3, 2}, {4, 3}, {5, 4}}
Also
lst = {{4, 1}, {9, 2}, {16, 3}, {25, 4}};
Transpose[{Sqrt[#[[1]]], #[[2]]}&@Transpose[#]]&@lst
{{2, 1}, {3, 2}, {4, 3}, {5, 4}}
And
lst = {{4, 1}, {9, 2}, {16, 3}, {25, 4}};
lst = ReplacePart[lst, {a_, 1} :> Sqrt[lst[[a, 1]]]]
{{2, 1}, {3, 2}, {4, 3}, {5, 4}}
{Sqrt[#1], #2} & @@@ {{4, 1}, {9, 2}, {16, 3}, {25, 4}}
{{2, 1}, {3, 2}, {4, 3}, {5, 4}}
And much to my astonishment, using Part
with Map
is faster than the above (0.015 seconds vs 0.060 seconds on list of length 100,000)
{Sqrt[#[[1]]], #[[2]]} & /@ {{4, 1}, {9, 2}, {16, 3}, {25, 4}}
{{2, 1}, {3, 2}, {4, 3}, {5, 4}}
Or, if you felt compelled to use patterns,
{{4, 1}, {9, 2}, {16, 3}, {25, 4}} /. {a_?NumericQ, b_} :> {Sqrt[a], b}
{{2, 1}, {3, 2}, {4, 3}, {5, 4}}
or
Cases[{{4, 1}, {9, 2}, {16, 3}, {25, 4}}, {a_?NumericQ, b_} :> {Sqrt[a], b}]
{{2, 1}, {3, 2}, {4, 3}, {5, 4}}