合併兩個陣列我要合併在python兩個陣列的所有可能的組合使用Python numpy的
前一個= [1,2,3]和B = [4,5,6]應該給輸出
c= [(1,4),(1,5),(1,6)
(2,4),(2,5),(2,6)
(3,4),(3,5),(3,6)]
以這個特定的順序(即順序3x3)。這個順序在這裏特別重要。
合併兩個陣列我要合併在python兩個陣列的所有可能的組合使用Python numpy的
前一個= [1,2,3]和B = [4,5,6]應該給輸出
c= [(1,4),(1,5),(1,6)
(2,4),(2,5),(2,6)
(3,4),(3,5),(3,6)]
以這個特定的順序(即順序3x3)。這個順序在這裏特別重要。
itertools.product
函數就是這樣做的。
>>> import itertools
>>> a, b = [1,2,3], [4,5,6]
>>> list(itertools.product(a, b))
[(1, 4), (1, 5), (1, 6), (2, 4), (2, 5), (2, 6), (3, 4), (3, 5), (3, 6)]
注:這很可能是,你並不需要list()
的情況下,這只是在這裏顯示輸出。
這將返回一個包含列表a和b的所有排列的列表。
import itertools
map(''.join, itertools.chain(itertools.product(a, b), itertools.product(b, a))
您正在尋找itertools.product
from itertools import product
a = [1,2,3]
b = [4,5,6]
print(list(product(a, b)))
輸出
[(1, 4), (1, 5), (1, 6), (2, 4), (2, 5), (2, 6), (3, 4), (3, 5), (3, 6)]
謝謝CAMIL。但我以此爲例。你如何做幾件事?我原來的數組有100個元素,每個 –
@amateur_programmer你有100個你想「合併」的元素100個列表?還是兩個100個元素的列表?無論哪種情況,您都可以簡單地爲函數添加更多參數。 – Keelan
我有兩個100個元素的列表,我想將它們合併成所有可能的組合。之前我沒有提到它,但是隻使用了numpy –