繁体   English   中英

并排连接两个列表

[英]Concatenate two lists side by side

我正在寻找以下最短的方式(一线解决方案)

a = ["a", "b", "c"]
b = ["w", "e", "r"]

我想要以下输出:

q = ["a w", "b e", "c r"]

当然,这可以通过应用for循环来实现。 但我想知道是否有一个聪明的解决方案呢?

您可以使用str.join()zip() ,示例 -

q = [' '.join(x) for x in zip(a,b)]

示例/演示 -

>>> a = ["a", "b", "c"]
>>> b = ["w", "e", "r"]
>>> q = [' '.join(x) for x in zip(a,b)]
>>> q
['a w', 'b e', 'c r']

您可以在列表理解中使用zip

>>> ['{} {}'.format(*i) for i in zip(a,b)]
['a w', 'b e', 'c r']

更多的pythonic方式;

b = map(' '.join,zip(a,b))
a = ["a", "b", "c"]
b = ["w", "e", "r"]

print(["{} {}".format(_a ,_b) for _a,_b in zip(a,b)])
['a w', 'b e', 'c r']

一线解决方案:

[aa+" "+bb for aa,bb in zip(a,b)]

输出:

['a w', 'b e', 'c r']

一个没有拉链的衬里:

[a[i]+" "+b[i] for i in range(len(a))]

输出:

['a w', 'b e', 'c r']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM