2012-12-22 158 views
-3

字符串插入串

a='Samsung' 
b='Nokia' 

我想插入B到A,finaly结果是'SNaomksiuang' 如何更快的做在Python?

+2

什么是'faster'?你有什么尝试? – inspectorG4dget

+0

根据0尝试任何顺序的零动机Downvote –

+0

可能的重复? http://stackoverflow.com/questions/3083829/how-do-i-interleave-strings-in-python – squiguy

回答

7
In [183]: ''.join(itertools.chain.from_iterable(itertools.izip_longest(a,b, fillvalue=''))) 
Out[183]: 'SNaomksiuang' 

In [184]: a='Samsung' 

In [185]: b='Nokia' 

In [186]: ''.join(itertools.chain.from_iterable(itertools.izip_longest(a,b, fillvalue=''))) 
Out[186]: 'SNaomksiuang' 
+0

不错的使用链!绝对比我的嵌套连接更好的解决方案。 +1 –

+0

@NolenRoyalty我同意,但它写在这里的方式看起来不太好,你的看起来更好。然而,它可以这样写:'''.join(chain.from_iterable(izip_longest(a,b,fillvalue ='')))' – jamylak

+0

@jamylak:我必须包含'itertools.'来显示OP的功能来自 – inspectorG4dget

5
>>> from itertools import izip_longest 
>>> a='Samsung' 
>>> b='Nokia' 
>>> ''.join([''.join(i) for i in izip_longest(a,b,fillvalue='')]) 
'SNaomksiuang'