首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python -连接2个列表

Python -连接2个列表
EN

Stack Overflow用户
提问于 2014-03-26 01:38:18
回答 4查看 5.1K关注 0票数 8

嗨,我是Python和这个论坛的新手。

我的问题是:

我有两个列表:

代码语言:javascript
复制
list_a = ['john','peter','paul']
list_b = [ 'walker','smith','anderson']

我使用zip成功地创建了一个这样的列表

代码语言:javascript
复制
list_c = zip(list_a, list_b)
print list_c
# [ 'john','walker','peter','smith','paul','anderson']

但我要查找的结果是如下列表:

代码语言:javascript
复制
list_d = ['john walker','peter smith','paul anderson']

不管我怎么努力,我都没有成功!我怎样才能得到这个结果?

EN

回答 4

Stack Overflow用户

发布于 2014-03-26 01:40:37

您将从两个列表中获得压缩的名称,只需将每一对连接起来,如下所示

代码语言:javascript
复制
print map(" ".join, zip(list_a, list_b))
# ['john walker', 'peter smith', 'paul anderson']
票数 12
EN

Stack Overflow用户

发布于 2014-03-26 01:40:27

代码语言:javascript
复制
List_C = ['{} {}'.format(x,y) for x,y in zip(List_A,List_B)]
票数 7
EN

Stack Overflow用户

发布于 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可能有不同的长度,那么:

代码语言:javascript
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22642261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档