2016-08-12 41 views
0

我有一個字符串,我想與列表中的每個元素配對。在列表中創建一個字符串和一個元素的對

str = "era" 
list = ["we", "st"] 

隨着代碼:

zip(str, list) 

我獲得

[('e', 'we'), ('r', 'st')] 

我想實現的是對的元組的列表:

[('era', 'we'), ('era', 'st')] 

是有一個簡單的方法來解決分裂o字符串?謝謝!!

回答

7

列表理解如何?

str = 'era' 
list = ['we', 'st'] 
packed = [(str,str2) for str2 in list] 
+2

當它。你打我吧;) –

2

使用itertools.product

import itertools 

ss = "era" 
lst = ["we", "st"] 
print list(itertools.product([ss], lst)) 

避免使用關鍵字作爲變量,如列表

+0

這是一種矯枉過正的想法,但我測試了它的長度爲1000,並且你的答案比我的列表理解快大約5倍 – Anonymous

0

以爲我會提供替代@jphollowed的簡單和簡潔的答案。

s = "era" 
l = ["we", "st"] 
print([tuple(i.split(',')) for i in map(lambda x: x+','+s, l)]) 
+0

更不可讀,imo。不知道它在速度上提供了什麼,雖然 – Anonymous

+0

哦,我絕對同意,你只是毆打每個人到最pythonic答案啊,所以認爲我只是提供一個替代方法,好奇的緣故。 – ospahiu

+0

嗯,我不能得到它的工作; 'TypeError:只能連接元組(不是「str」)到元組' – Anonymous

相關問題