并排连接两个列表

时间:2015-08-10 09:17:07

标签: python list

我正在寻找以下最简单的方法(一线解决方案)

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

我想要以下输出:

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

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

5 个答案:

答案 0 :(得分:8)

您可以使用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']

答案 1 :(得分:6)

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

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

答案 2 :(得分:2)

更多pythonic方式;

b = map(' '.join,zip(a,b))

答案 3 :(得分:1)

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']

答案 4 :(得分:1)

一线解决方案:

[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']