![]() |
Transpose Ragged Array | Index << >> |
I’m trying to transpose a vector of different length vectors, essentially a ragged matrix. The only way I can think of to do it is to introduce a special value which is subsequently removed: transpose←{ n←≢¨⍵ m←⌈/n f←⎕NULL m←↓⍉⊃⍵,¨(m-n)⍴¨f m~¨f } transpose (1 2 3) (4 5) (6 0 7 8 9) ┌─────┬─────┬───┬─┬─┐ │1 4 6│2 5 0│3 7│8│9│ └─────┴─────┴───┴─┴─┘ Dyalog Forum post by paulmansour, 2017-07-24 |