sublista de posiciones dadas
Sep 01 2020
Considerar
r = Array[Total[{##}] &, {3, 3}]
(*{{2, 3, 4}, {3, 4, 5}, {4, 5, 6}}*)
pos = {{1, 1}, {2, 2}};
Esta
r[[pos]]
da el error
Part::pkspec1: The expression {{1,1},{2,2}} cannot be used as a part specification.
en lugar de lo esperado
{2,4}
En otras palabras, ¿cómo elegir elementos de una lista en posiciones específicas?
Respuestas
5 kglr Sep 01 2020 at 06:40
Puedes en :Apply (@@@) Partpos
r[[##]] & @@@ pos
{2, 4}
También puede utilizar Extracto Indexedo Query:
Extract[pos] @ r
{2, 4}
Indexed[r, #] & /@ pos
{2, 4}
Query[##] @ r & @@@ pos
{2, 4}