給定一個單詞(文本)串列,我想把除第一個單詞外的每個單詞都大寫一遍。它對i.capitalize()和i = i.capitalize()都不起作用。為什么?
def capitalize_words(text)。
for i in text[1:] 。
i.capitalize()
return text
uj5u.com熱心網友回復:
使用時應回傳修改后的資料:
def capitalize_words(text)。
return " ".join([i.capitalize() fori in text])
uj5u.com熱心網友回復:
問題是你回傳原始的串列而沒有變異它的值。這一行i.capitalize()對你函式的輸出沒有影響。
相反,你可以填充一個新的串列并回傳它,例如:
def capitalize_words(text)。
capit_text = []
for i in text[1:] 。
capit_text.append(i.capitalize())
return capit_text
或者,使用串列理解法:
def capitalize_words(text)。
return [i.capitalize() for i in text[1: ] ]
uj5u.com熱心網友回復:
因為你回傳的是沒有被改變的原始串列
def capitalize_words(text)。
return [word.capitalize() for word in text[1: ] ]
如果你也想要text[0],但不是大寫的
return [text[0] ] [word.capitalize() for word in text[1: ] ]
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/333353.html
標籤:
上一篇:如果我在使用Arrays.sort()后試圖列印ch[0]或排序后的char陣列的任何隨機字符,它給出了一個空白輸出,因此輸出是空白的,為什么?
下一篇:在一個串列中查找是否存在一個字串
