我是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']]
我不确定我做错了什么。
答案 0 :(得分:2)
定义列表a
和b
:
>>> 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']]
。