如何将单个列表中的两个列表与python中的不同元素组合在一起

时间:2015-02-06 06:02:11

标签: python list

我是python的新手

list_a['A','B']list_b['C','D']

我必须得到的输出格式为[['AC','BC'],['AD','BD']]

当我尝试使用以下代码时:

output = []

for a in ['A','B']:

    for b in ['C','D']:
        if a !=b:
            output.append([a,b])
print output

我的输出为[['A', 'C'], ['A', 'D'], ['B', 'C'], ['B', 'D']]

我不确定我做错了什么。

2 个答案:

答案 0 :(得分:2)

定义列表ab

>>> a = ['A','B'];  b = ['C','D']

现在,将它们结合起来:

>>> [ [x + y for x in a] for y in b ]
[['AC', 'BC'], ['AD', 'BD']]

显式循环

如果你真的必须做明确的循环:

outer = []
for y in ['C','D']:
    inner = []
    for x in ['A','B']:
        inner.append(x + y)
    outer.append(inner)
print(outer)

这导致:

[['AC', 'BC'], ['AD', 'BD']]

答案 1 :(得分:0)

大多数情况下,你的循环顺序错误......

output = []
for b in list_b:
    output.append([a + b for a in list_a])

根据需要为您提供[['AC', 'BC'], ['AD', 'BD']]

相关问题