這篇文章主要為大家展示了“LeetCode中如何將字符串轉(zhuǎn)換成小寫形式”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“LeetCode中如何將字符串轉(zhuǎn)換成小寫形式”這篇文章吧。
創(chuàng)新互聯(lián)是一家專業(yè)提供離石企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、HTML5、小程序制作等業(yè)務(wù)。10年已為離石眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。
實(shí)現(xiàn)一個(gè)算法,將字符串轉(zhuǎn)換成小寫形式。
看到這個(gè)題的時(shí)候,不知道你的思路是什么樣的,如果你熟悉 Python 里面的API,最先想到的可能就是直接使用 str.lower() 方法就可以實(shí)現(xiàn)。實(shí)際開發(fā)中可以這么做,不過(guò),這道題的考察目的肯定不是這個(gè)。
def to_lower_case(text):
return text.lower()
你可能聯(lián)想到了字符的 ASCII 碼值,26個(gè)英文字母在 ASCII 中分別對(duì)應(yīng)一個(gè)值,大寫的A~Z對(duì)應(yīng) ASCII 值65~90,小寫的a~z是97~122,而且它們都是連續(xù)的,同一個(gè)字母大小寫值相差 32,所以如果某個(gè)字母在65~90區(qū)間,那么將其加 32 就是對(duì)應(yīng)的小寫字母。這里,ascii碼值與字母之間的互相轉(zhuǎn)換需要用到兩個(gè)函數(shù) ord 和 chr
>>> ord('a')
97
>>> chr(97)
'a'
def to_lower_case(text):
new_text = ""
for c in text:
if 65 <= ord(c) <= 90:
c = chr(ord(c) + 32)
new_text += c
return new_text
第三種思路是這樣,如果你思考一下,26個(gè)字母大小寫都是一一對(duì)應(yīng)的,每個(gè)大小字母都對(duì)應(yīng)有一個(gè)小寫字母,這時(shí)你就可以遍歷每個(gè)字符判斷它是不是某個(gè)大寫字符,是的話,就找到對(duì)應(yīng)的小寫字母就ok了。
類似這樣:
if c == 'A'
return 'a'
elif c == 'B'
return 'b'
elif
...
但是這樣寫,你要寫26個(gè)if條件,而更優(yōu)雅的方式是使用字典來(lái)替代這種方式。 {“A”: “a”, “B”: ‘b’, ….}
def to_lower_case(s):
upper = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
lower = 'abcdefghijklmnopqrstuvwxyz'
d = dict(zip(upper, lower))
return "".join([d.get(i, i) for i in s])
以上是“LeetCode中如何將字符串轉(zhuǎn)換成小寫形式”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
分享名稱:LeetCode中如何將字符串轉(zhuǎn)換成小寫形式
標(biāo)題網(wǎng)址:http://jinyejixie.com/article4/iicsie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、企業(yè)網(wǎng)站制作、響應(yīng)式網(wǎng)站、靜態(tài)網(wǎng)站、外貿(mào)建站、微信公眾號(hào)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
移動(dòng)網(wǎng)站建設(shè)知識(shí)