嗨,我是Python和这个论坛的新手。
我的问题是:
我有两个列表:
list_a = ['john','peter','paul']
list_b = [ 'walker','smith','anderson']我使用zip成功地创建了一个这样的列表
list_c = zip(list_a, list_b)
print list_c
# [ 'john','walker','peter','smith','paul','anderson']但我要查找的结果是如下列表:
list_d = ['john walker','peter smith','paul anderson']不管我怎么努力,我都没有成功!我怎样才能得到这个结果?
发布于 2014-03-26 01:40:37
您将从两个列表中获得压缩的名称,只需将每一对连接起来,如下所示
print map(" ".join, zip(list_a, list_b))
# ['john walker', 'peter smith', 'paul anderson']发布于 2014-03-26 01:40:27
List_C = ['{} {}'.format(x,y) for x,y in zip(List_A,List_B)]发布于 2014-03-26 02:54:06
如果list_a和list_b的长度总是相同的,那么尝试一下:
list_c = [list_a[i]+' '+list_b[i] for i in xrange(0,len(list_a))]
另一方面,如果list_a和list_b可能有不同的长度,那么:
list_c=[]
for i in xrange(0,len(list_a) if len(list_a)>len(list_b) else len(list_b)):
merged_item = (list_a[i] if i<len(list_a) else '')+\
(' ' if i<len(list_a) and i<len(list_b) else '')+\
(list_b[i] if i<len(list_b) else '')
list_c.append(merged_item)https://stackoverflow.com/questions/22642261
复制相似问题