我正在寻找以下最简单的方法(一线解决方案)
a = ["a", "b", "c"]
b = ["w", "e", "r"]
我想要以下输出:
q = ["a w", "b e", "c r"]
当然这可以通过应用for循环来实现。但我想知道是否有一个聪明的解决方案呢?
答案 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']