2 added 12 characters in body
source | link

Another solution using MapIndexed and ReplaceAll:

list /. x : {_, _, _} :> MapIndexed[fns[[First@#2]]@#1 &, x]
  1. Replace:

    Replace[list, x : {_, _, _} :> MapIndexed[fns[[First@#2]]@#1 &, x], {1}]
    
  2. Map:

    MapIndexed[fns[[First@#2]]@#1 &, #] & /@ list
    

Another solution using MapIndexed and ReplaceAll:

list /. x : {_, _, _} :> MapIndexed[fns[[First@#2]]@#1 &, x]

Another solution using MapIndexed and

  1. Replace:

    Replace[list, x : {_, _, _} :> MapIndexed[fns[[First@#2]]@#1 &, x], {1}]
    
  2. Map:

    MapIndexed[fns[[First@#2]]@#1 &, #] & /@ list
    
1
source | link

Another solution using MapIndexed and ReplaceAll:

list /. x : {_, _, _} :> MapIndexed[fns[[First@#2]]@#1 &, x]