3 回答

TA貢獻(xiàn)1898條經(jīng)驗(yàn) 獲得超8個(gè)贊
這一行:
string[1].upper()
是不是按照你的想法去做。當(dāng)然,它將 中的值大寫(xiě)string[1]
,但它會(huì)返回一個(gè)帶有結(jié)果的新字符串!- 因?yàn)樵?Python 中字符串是不可變的?,F(xiàn)在,您可能會(huì)認(rèn)為這會(huì)解決它:
string[1] = string[1].upper()
...但是不,這將失敗,因?yàn)樵僖淮?- 字符串是不可變的。您別無(wú)選擇,只能創(chuàng)建一個(gè)新字符串,并通過(guò)一些邏輯來(lái)判斷您想要大寫(xiě)的位置。例如,要將 index = 1 處的值大寫(xiě):
''.join(c.upper() if i == 1 else c for i, c in enumerate(string))

TA貢獻(xiàn)1854條經(jīng)驗(yàn) 獲得超8個(gè)贊
要僅大寫(xiě)字符串的一個(gè)字母,您必須將字符串從第 n 個(gè)位置開(kāi)始的部分大寫(xiě),并將其分配回變量:
string = string[:n] + string[n:].capitalize()

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊
在 Python 中,字符串不可修改,因此您指定的操作將不起作用。
為了使這項(xiàng)工作,您可以將字符串轉(zhuǎn)換為列表,然后將特定字符轉(zhuǎn)換為大寫(xiě),然后將結(jié)果連接回字符串。
sample_str="hello world"
sample_list=list(sample_str)
sample_list[2]=sample_list[2].upper()
print(''.join(str(i) for i in sample_list))
添加回答
舉報(bào)