2014-02-16 61 views
0

我是新來的蟒蛇,我需要做串聯:Python中,兩個列表

lines = ['apple','bear'] 
signed=['aelpp','aber'] 

我所要的輸出是:

res = ['aelpp apple', 'aber bear'] 

我會很感激,如果你能幫助!我試着簡單地使用+和join()函數,但沒有得到我想要的。

回答

5

您可以嘗試使用zip()join()

res = [" ".join(e) for e in zip(signed, lines)] 
print res 

輸出:

['aelpp apple', 'aber bear'] 

編輯:作爲@ThiefMaster評論說,這可以使用map()更加緊湊:

res = map(' '.join, zip(signed, lines)) 
+2

可以用更緊湊的方式完成:'map(''.join,zip(signed,lines))' – ThiefMaster

+0

謝謝很多!這正是我期待的! –

0

您可以使用mapzip

list(map(lambda x: x[1] + ' ' + x[0], zip(lines, signed))) 
+1

'map(lambda ...'總是更好地寫成列表理解/生成器表達式。 –

0

既然你是新的蟒蛇,你會發現下面的更容易比別人理解:

>>> res = [] 
>>> for i in range(len(signed)): 
...  res.append(signed[i] + ' ' + lines[i]) 

結果:

>>> print res 
['aelpp apple', 'aber bear']