簡體   English   中英

從給定的 arrays 范圍生成一個跨維二維數組

[英]Generate a cross dimensional 2-d array from given arrays of ranges

假設我有一個這樣的列表列表:

list = [[1, 2, 3],
        [4, 5, 6, 7],
        [3, 4]]

我希望使用 Python 中的上述輸入創建一個像這樣的二維數組:

result = [[1,4,3],[1,4,4],[1,5,3],[1,5,4],[1,6,3],[1,6,4],[1,7,3],[1,7,4],
[2,4,3],[2,4,4],[2,5,3],[2,5,4],[2,6,3],[2,6,4],[2,7,3],[2,7,4],
[3,4,3],[3,4,4],[3,5,3],[3,5,4],[3,6,3],[3,6,4],[3,7,3],[3,7,4]]

這是一種真值表。

注意- 列表的長度可以變化(它可以包含更多列表),內部列表的長度也可以變化。

您可以使用 itertools.product()。 l 是您的原始列表(避免使用“列表”作為名稱,因為python中現有的內置數據結構)

res=[list(i) for i in itertools.product(*l)]

>>> print(res)

[[1, 4, 3], [1, 4, 4], [1, 5, 3], [1, 5, 4], [1, 6, 3], [1, 6, 4], [1, 7, 3], [1, 7, 4], [2, 4, 3], [2, 4, 4], [2, 5, 3], [2, 5, 4], [2, 6, 3], [2, 6, 4], [2, 7, 3], [2, 7, 4], [3, 4, 3], [3, 4, 4], [3, 5, 3], [3, 5, 4], [3, 6, 3], [3, 6, 4], [3, 7, 3], [3, 7, 4]]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM