我有一个数组数组。我想连接数组的第一,第二,第三元素。
示例数组:
n = randi ([1.29], [1,1])
Randi A = (n + 3, n)
digraph (A);
plot (A);
输出:
a = [[4, 5, 6], [1, 2, 3], [8, 9, 10]]
a1 = [[1, 2, 3], [8, 9, 10]]
a2 = [[4, 5, 6], [1, 2, 3], [8, 9, 10], [11, 21, 31]]
答案 0 :(得分:4)
使用transpose
方法
a.transpose
=> [[4, 1, 8], [5, 2, 9], [6, 3, 10]]
答案 1 :(得分:1)
[a, a1, a2].map(&:transpose)
# [
# [[4, 1, 8], [5, 2, 9], [6, 3, 10]],
# [[1, 8], [2, 9], [3, 10]],
# [[4, 1, 8, 11], [5, 2, 9, 21], [6, 3, 10, 31]]
# ]
答案 2 :(得分:1)
只要Array#transpose
可以使用,Enumerable#zip就可以。
a.first.zip *a.drop(1)
#=> [[4,1,8],[5,2,9],[6,3,10]]