我有一个名单(文本矩阵)nl43
和多个索引(在gr43
中),并希望通过gr43
的第4和第5列分配元素索引到2个变量,A
和B
。
访问单个列时,这将是nl43[gr43[;Column];]
,但我的手指只是拒绝复制&粘贴该语句进行第二次分配,因为我的直觉暗示必须有一种更简单的方法; - )
答案 0 :(得分:0)
好的,所以我终于找到了(A B)←⊂[1 3]nl43[gr43[;4 5;]
并且对自己感到非常失望,因为我之前从未想过这一点。既然我自己回答了这个问题,我认为那里的细化空间不大?
嗯,有一种嵌套方式可以做到这一点:(A B)←(⊂nl43){⍺[gr43[;⍵];]}¨4 5
我甚至犹豫着看着它,因为它感觉太&"笨拙"。但从表现来看,这是一个明显的赢家:.234秒与.64 !!
评论? ; - )
答案 1 :(得分:0)
与
类似 'abcdefghijklmnopqrstuvwxyz'[3 3 reshape 3 1 20 18 1 20 6 1 20] // []A instead of abcde... in Dyalog
cat
rat
fat
// result is a matrix
我会直观地期望索引的嵌套参数也能正常工作。
'abcdefghijklmnopqrstuvwxyz'[(3 1 20) (18 1 20) (6 1 20)]
cat rat fat
// result is a vector of vectors
唉,这还没有,或者还没有实施。我过去曾使用类似的dfn方法进行索引,但除了向量之外从未使用过任何东西。有趣的是这种扩展索引如何对矩阵和高维数组起作用。