python求列表最大值下标_切片,丝滑的字符串 | Python基础连载(三)
開篇
之前已經提到過,在Python中,一共有六大數據類型
本期就開始學習Python的六個標準數據類型中的字符串。
什么是字符串
在Python中,字符串是用一對引號(單引號/雙引號均可)包裹起來的一串字符,比如之前你見到的'Hello World !'便是一個字符串。
下面再給出幾個字符串的栗子:
Python提供了type()函數用于查詢某個變量的數據類型,在上圖中,數據類型名字后面的英文就是該數據類型所對應的type()函數返回值,()內填寫的是你要查看的變量名。
接著上面的栗子,現在我要查看一下這些變量所保存元素的數據類型(不能你說是字符串就是字符串吧,我要親自動手驗證一下,嘿嘿)
驗證完畢,返回值是str,是字符串無誤!
注意,一個單個的字符也是字符串:
>>>?ch='u'>>>?type(ch)你可能會好奇,這里出現的函數,返回值和class是什么鬼。不要著急,后面會講到,現在你只要會用type()來查看一個變量的數據類型就達到足夠了
如何選取字符串中的某些元素(重點)
首先要說明的是,Python的下標(也稱索引)是從0開始的,這和大部分編程語言是一致的。
下面這張圖清晰的展示了下標與元素位置的關系:字符串'Python'的長度是6,下標的最大值是5,正好差1。
現在,將字符串'Python'存入變量s :
s='Python'如果想要獲取中的某一個字符,直接使用s[下標]即可:
注意,如果你給的下標值超出了字符串的下標最大值,則會報錯,就像下面這樣:
知道了如何選取字符串中的某一特定下標處的元素之后,你可能又會想:我能不能一次選取好幾個元素呢?
當然可以!
Python的切片便是用來做這件事情的。
切片語法如下:
s[start:end:step]解釋一下:s是一個存儲了字符串的變量名,start和end分別代表了切片的開始位置下標和結束位置下標+1,step是步長,如果不寫step,那就用默認值1。(【注】Python規定,step不能為0,這一點記住就好,無需深究。)
下面的栗子可以讓你更好的理解上面所說:
>>>?s='Great?Python'>>>?s[0:3] #start=0,end=3,所以區間為[0,2]'Gre'這里,從下標為0的位置元素開始,一直到下標為2的位置結束,由于我們沒有寫step,所以使用默認值1,也就是一步一步地向前走(規范化地表述是:從start開始,以1為步長,向end方向掃描)。
最終將下標區間[0,2]位置的所有元素選取出來。
一個比較好的記憶方式是:start和end組成的區間是左閉右開的。
如果我們更改了步長,又會怎樣?看下面的栗子:
>>>?s="Great?Python">>>?s[0:9:2]'GetPt'這一次設置了步長為2,選取的下標范圍是0到8。
s[0:9:2]所做的事情如下(結合上圖來理解):
第一次選取下標為`0`處的元素`G`接下來走`2`步,到達下標`2`?第二次選取下標為`2`處的元素`e`接下來走`2`步,到達下標`4`第三次選取下標為`4`處的元素`t`接下來走`2`步,到達下標`6`第四次選取下標為`6`處的元素`P`接下來走`2`步,到達下標`8`第五次選取小標為`8`處的元素`t`由于已經走到了區間最右側,所以不再繼續走。至此,選取結束,返回由G、e、t、P、t組成的字符串'GetPt' 。
相信通過以上詳細的講解,你已經學會了使用字符串中簡單的切片語法。
還有一件更神奇的事情:下標可以為負數!
你可能會問:下標為負數的話不是沒有對應元素了嘛?就像下面這樣:
事實不是這樣的!
負數索引,指的是從最后一個元素開始,往前數(也就是倒著數,比如-1代表倒數第一個)。所以下面這張圖才是正確的:
繼續之前的栗子(仔細看注釋哦):
>>>?s='Python'>>>?s[-1]#選取倒數第一個元素'n'>>>?s[-2]#選取倒數第二個元素'o'>>>?s[-123]#不存在倒數第123個元素,所以報錯Traceback?(most?recent?call?last):??File?"",?line?1,?in?????s[-123]IndexError:?string?index?out?of?range對于切片操作同理,這里給出幾個栗子:
>>>?s="Great?Python">>>?s[-3:-1]#注意區間左閉右開'ho'>>>?s[-5:-1:2]#注意區間左閉右開'yh'如果仔細觀察,你會發現,上面所有的栗子中,start都是小于end的,那能不能出現start>end呢?
答案是可以!但同時需要將步長step設置為負,否則選取到的結果一定是空!
>>>?s='Graet?Python'>>>?s[4:1]#未設置步長,采用默認值1(正),結果為空''>>>?s[-1:-4]#未設置步長,采用默認值1(正),結果為空''>>>?s[-1:-4:2]#步長為2(正),結果為空''>>>?s[4:1:-1]#設置了步長為-1(負)'tea'>>>?s[-1:-6:-2]#設置了步長為-2(負)'nhy'更多字符串操作
定義一個字符串:
s='Hello?World'1.求字符串長度:使用len()函數
>>>?s='Hello?World'>>>?len(s)112.選取全部元素
#方法1>>>?s[0:len(s)]'Hello?World'#方法2:`切片`特有的操作>>>?s[::]'Hello?World'3.選取倒序的全部元素
#`切片`特有的操作>>>?s[::-1]'dlroW?olleH'附
本期內容到這里就結束了,關于字符串的用法還沒有講完,剩余內容將在下期介紹。
在結束之前,簡單介紹一下print()。
print()用于正如其名,用于輸出結果到屏幕上。
將'Hello World!'輸出到屏幕上,只需將這個字符串放進()內,運行即可:
>>>?print('Hello?World!')Hello?World!()內也可以放入變量:
>>>?s='Hello?World!'>>>?print(s)Hello?World!明天的內容有些多,要做好準備哦~
大家加油!有問題留言區見。
本文首發于微信公眾號:我將在南極找尋你
總結
以上是生活随笔為你收集整理的python求列表最大值下标_切片,丝滑的字符串 | Python基础连载(三)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 百度模糊搜索怎么实现_百度搜索广告是什么
- 下一篇: kdj买卖指标公式源码_翔博精选指标KD