配列の配列に対するイテレーター製品


8

配列の配列から配列の積にイテレータを作成するにはどうすればよいですか?アレイのサイズは事前に決定されていません。

基本的に次のように動作します:

for i in Base.Iterators.product([1,2,3],[4,5])
   print(i)
end
(1, 4)(2, 4)(3, 4)(1, 5)(2, 5)(3, 5)

しかし、私はそれが配列の配列に対して機能することを望みますが、異なる結果を得ています:

x = [[1,2,3],[4,5]]
for i in Base.Iterators.product(x)
   print(i)
end
([1, 2, 3],)([4, 5],)

回答:


5

splat演算子を使用して、配列の配列を関数呼び出しに補間できます。

julia> x = [[1,2,3],[4,5]];

julia> for i in Base.Iterators.product(x...)
          print(i)
       end
(1, 4)(2, 4)(3, 4)(1, 5)(2, 5)(3, 5)

1
ええニシキヘビのようなものですf(*x)...非常に便利
Gwang-ジンキム・
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.