Python列出了选择对象的方法

时间:2018-01-17 12:51:50

标签: python

我有三个列表:[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]

4 个答案:

答案 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)

使用itertools.product

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')]

这就是你想要的,但请在尝试之前再搜索一下以发布问题。