我有三个列表:[A, B, C]
,[1]
,[x,y]
。
如何使用python生成以下内容:
[A,1,x]
,[A,1,y]
,[B,1,x]
,[B,1,y]
,[C,1,x]
,[C,1,y]
答案 0 :(得分:2)
你走了:
Z = [['A', 'B', 'C'], [1], ['x', 'y']]
import itertools
for element in itertools.product(*Z):
print(element)
结果:
('A', 1, 'x')
('A', 1, 'y')
('B', 1, 'x')
('B', 1, 'y')
('C', 1, 'x')
('C', 1, 'y')
答案 1 :(得分:1)
您可以使用列表理解轻松完成此操作:
l1 = ['A', 'B', 'C']
l2 = [1]
l3 = ['x', 'y']
product = [
[a, b, c]
for a in l1
for b in l2
for c in l3
]
答案 2 :(得分:1)
import itertools
list(itertools.product([A, B, C], [1, 2], [x,y]))
# provided A, B, C, x, y are variables.
答案 3 :(得分:0)
开始:
>>> from itertools import product
>>> a = ['A','B']
>>> b = [1,2]
>>> list(product(a, b))
[('A', 1), ('A', 2), ('B', 1), ('B', 2)]
和
>>> a = ['A','B','C']
>>> b = [1]
>>> c = ['x', 'y']
>>> list(product(a,b,c))
[('A', 1, 'x'), ('A', 1, 'y'), ('B', 1, 'x'), ('B', 1, 'y'), ('C', 1, 'x'), ('C', 1, 'y')]
这就是你想要的,但请在尝试之前再搜索一下以发布问题。