2012-12-22 205 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'