如何使用python中的不同元素将两个列表合并到一个列表中
我是python新手 我有如何使用python中的不同元素将两个列表合并到一个列表中,python,list,Python,List,我是python新手 我有列表a作为['a','B']和列表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',
列表a
作为['a','B']
和列表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']]
我不确定我做错了什么。定义列表
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']]
大多数情况下,你按错误的顺序循环
output = []
for b in list_b:
output.append([a + b for a in list_a])
根据需要为您提供
[['AC',BC',['AD',BD']]
。非常感谢您的宝贵解释John@Bhanu伟大的所以,请接受约翰老练的回答或我简单的回答,这样问题就解决了。