2016-12-02 20 views
0

我想用一個字中有字母的下劃線填充一個列表。我可以用一個循環,例如:用n個相同的術語在Python中填充一個列表

for i in range(len(word)): 

若要用下劃線列表中,但感覺像極壞的編碼。有更好的/更高級別的選擇嗎?

+2

哦,是的:'[ '_'] * LEN(字)'。你想把它當作一個字符串嗎? –

回答

2

您需要將單個下劃線list乘以單詞長度。例如,在列表中與int 10相乘,得到:

>>> ['_'] * 10 
['_', '_', '_', '_', '_', '_', '_', '_', '_', '_'] 

爲了找到字的長度,使用len()函數:

返回對象的長度(項目數)。參數可以是一個序列(如字符串,字節,元組,列表或範圍)或集合(如字典,集合或凍結集合)。

例如:

>>> len('Hello') 
5 

因此,您的最終代碼可以寫成:

>>> ['_'] * len('Hello') 
['_', '_', '_', '_', '_'] 
2

您可以通過使用

[ '_' ] * len(word)

乘以名單數字產生一個新的清單元素重複了很多次。

0

一個簡單的方法來做到這一點是通過分割字符串,並使用LEN()乘以 「_」:

st = "infidel niemcy said God is kill" 
print [ "_"*len(word) for word in st.split()] 
相關問題