[英]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.