[英]Filling a list in Python with n identical terms
我想用一個下划線來填充列表,因為每個單詞中都包含字母。 我可以使用如下循環:
for i in range(len(word)):
用下划線填充列表,但是感覺像是非常糟糕的編碼。 有更好或更高級的選擇嗎?
您只需將單個下划線list
乘以單詞的長度即可。 例如,將列表與int
10相乘得到:
>>> ['_'] * 10
['_', '_', '_', '_', '_', '_', '_', '_', '_', '_']
為了找到單詞的長度,請使用len()
函數,該函數:
返回對象的長度(項目數)。 參數可以是序列(例如字符串,字節,元組,列表或范圍)或集合(例如字典,集合或凍結集合)。
例如:
>>> len('Hello')
5
因此,您的最終代碼可以寫為:
>>> ['_'] * len('Hello')
['_', '_', '_', '_', '_']
您可以使用
[ '_' ] * len(word)
將列表乘以數字將得到一個新列表,其中的元素重復了多次。
一種簡單的方法是拆分字符串並使用len()乘以“ _”:
st = "infidel niemcy said God is kill"
print [ "_"*len(word) for word in st.split()]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.