簡體   English   中英

用n個相同的術語填充Python列表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM