并排连接两个列表

use*_*020 3 python list

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

a = ["a", "b", "c"]
b = ["w", "e", "r"]
Run Code Online (Sandbox Code Playgroud)

我想要以下输出:

q = ["a w", "b e", "c r"]
Run Code Online (Sandbox Code Playgroud)

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

Ana*_*mar 8

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

q = [' '.join(x) for x in zip(a,b)]
Run Code Online (Sandbox Code Playgroud)

示例/演示 -

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


Kas*_*mvd 6

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

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