2
Haskell是否有可能使用另一個整數B矢量對中的矢量A進行索引,即A[B] = [ A[B[0]], A[B[1]], ... ]
?這似乎是計劃進一步的版本,如Vector tutorial,第2.11節所示。Indexing Data.Vector with index of array
當然,人們總是可以編寫一些功能來做到這一點,但這會涉及很多複製。
Haskell是否有可能使用另一個整數B矢量對中的矢量A進行索引,即A[B] = [ A[B[0]], A[B[1]], ... ]
?這似乎是計劃進一步的版本,如Vector tutorial,第2.11節所示。Indexing Data.Vector with index of array
當然,人們總是可以編寫一些功能來做到這一點,但這會涉及很多複製。
最好是使用backpermute
基本上是map (xs!)
但更有效。
您可以輕鬆地map
和(!)
爲此,
index :: Vector a -> Vector Int -> Vector a
index as bs = map (as!) bs
準確。但這就是我所說的「寫一些功能」。 @choener的答案使用庫函數(可能會更加優化),因此從我的角度來看更好。 – dsuess