Sản phẩm lặp trên mảng của mảng


8

Làm thế nào tôi có thể tạo một iterator trên sản phẩm của mảng, từ một mảng của mảng? Kích thước mảng không được xác định trước.

Về cơ bản các công việc sau đây như tôi muốn:

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)

Nhưng tôi muốn nó hoạt động cho một mảng các mảng, nhưng tôi đang nhận được kết quả khác nhau:

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

Câu trả lời:


5

Bạn có thể sử dụng toán tử splat để nội suy mảng mảng vào lệnh gọi hàm:

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
vâng, nó giống như những con trăn f(*x)rất hữu ích ...
Gwang-Jin Kim
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.