日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python求列表最大值下标_切片,丝滑的字符串 | Python基础连载(三)

發(fā)布時(shí)間:2024/9/30 python 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python求列表最大值下标_切片,丝滑的字符串 | Python基础连载(三) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

開篇

之前已經(jīng)提到過,在Python中,一共有六大數(shù)據(jù)類型

本期就開始學(xué)習(xí)Python的六個(gè)標(biāo)準(zhǔn)數(shù)據(jù)類型中的字符串

什么是字符串

在Python中,字符串是用一對(duì)引號(hào)(單引號(hào)/雙引號(hào)均可)包裹起來的一串字符,比如之前你見到的'Hello World !'便是一個(gè)字符串。

下面再給出幾個(gè)字符串的栗子:

Python提供了type()函數(shù)用于查詢某個(gè)變量的數(shù)據(jù)類型,在上圖中,數(shù)據(jù)類型名字后面的英文就是該數(shù)據(jù)類型所對(duì)應(yīng)的type()函數(shù)返回值,()內(nèi)填寫的是你要查看的變量名。

接著上面的栗子,現(xiàn)在我要查看一下這些變量所保存元素的數(shù)據(jù)類型(不能你說是字符串就是字符串吧,我要親自動(dòng)手驗(yàn)證一下,嘿嘿)

驗(yàn)證完畢,返回值是str,是字符串無誤!

注意,一個(gè)單個(gè)的字符也是字符串:

>>>?ch='u'>>>?type(ch)

你可能會(huì)好奇,這里出現(xiàn)的函數(shù),返回值和class是什么鬼。不要著急,后面會(huì)講到,現(xiàn)在你只要會(huì)用type()來查看一個(gè)變量的數(shù)據(jù)類型就達(dá)到足夠了

如何選取字符串中的某些元素(重點(diǎn))

首先要說明的是,Python的下標(biāo)(也稱索引)是從0開始的,這和大部分編程語言是一致的。

下面這張圖清晰的展示了下標(biāo)與元素位置的關(guān)系:字符串'Python'的長(zhǎng)度是6,下標(biāo)的最大值是5,正好差1。

現(xiàn)在,將字符串'Python'存入變量s :

s='Python'

如果想要獲取中的某一個(gè)字符,直接使用s[下標(biāo)]即可:

注意,如果你給的下標(biāo)值超出了字符串的下標(biāo)最大值,則會(huì)報(bào)錯(cuò),就像下面這樣:

知道了如何選取字符串中的某一特定下標(biāo)處的元素之后,你可能又會(huì)想:我能不能一次選取好幾個(gè)元素呢?

當(dāng)然可以!

Python的切片便是用來做這件事情的。

切片語法如下:

s[start:end:step]

解釋一下:s是一個(gè)存儲(chǔ)了字符串的變量名,start和end分別代表了切片的開始位置下標(biāo)和結(jié)束位置下標(biāo)+1,step是步長(zhǎng),如果不寫step,那就用默認(rèn)值1。(【注】Python規(guī)定,step不能為0,這一點(diǎn)記住就好,無需深究。)

下面的栗子可以讓你更好的理解上面所說:

>>>?s='Great?Python'>>>?s[0:3] #start=0,end=3,所以區(qū)間為[0,2]'Gre'

這里,從下標(biāo)為0的位置元素開始,一直到下標(biāo)為2的位置結(jié)束,由于我們沒有寫step,所以使用默認(rèn)值1,也就是一步一步地向前走(規(guī)范化地表述是:從start開始,以1為步長(zhǎng),向end方向掃描)。

最終將下標(biāo)區(qū)間[0,2]位置的所有元素選取出來。

一個(gè)比較好的記憶方式是:start和end組成的區(qū)間是左閉右開的。

如果我們更改了步長(zhǎng),又會(huì)怎樣?看下面的栗子:

>>>?s="Great?Python">>>?s[0:9:2]'GetPt'

這一次設(shè)置了步長(zhǎng)為2,選取的下標(biāo)范圍是0到8。

s[0:9:2]所做的事情如下(結(jié)合上圖來理解):

第一次選取下標(biāo)為`0`處的元素`G`接下來走`2`步,到達(dá)下標(biāo)`2`?第二次選取下標(biāo)為`2`處的元素`e`接下來走`2`步,到達(dá)下標(biāo)`4`第三次選取下標(biāo)為`4`處的元素`t`接下來走`2`步,到達(dá)下標(biāo)`6`第四次選取下標(biāo)為`6`處的元素`P`接下來走`2`步,到達(dá)下標(biāo)`8`第五次選取小標(biāo)為`8`處的元素`t`由于已經(jīng)走到了區(qū)間最右側(cè),所以不再繼續(xù)走。

至此,選取結(jié)束,返回由G、e、t、P、t組成的字符串'GetPt' 。

相信通過以上詳細(xì)的講解,你已經(jīng)學(xué)會(huì)了使用字符串中簡(jiǎn)單的切片語法。

還有一件更神奇的事情:下標(biāo)可以為負(fù)數(shù)!

你可能會(huì)問:下標(biāo)為負(fù)數(shù)的話不是沒有對(duì)應(yīng)元素了嘛?就像下面這樣:

事實(shí)不是這樣的!

負(fù)數(shù)索引,指的是從最后一個(gè)元素開始,往前數(shù)(也就是倒著數(shù),比如-1代表倒數(shù)第一個(gè))。所以下面這張圖才是正確的:

繼續(xù)之前的栗子(仔細(xì)看注釋哦):

>>>?s='Python'>>>?s[-1]#選取倒數(shù)第一個(gè)元素'n'>>>?s[-2]#選取倒數(shù)第二個(gè)元素'o'>>>?s[-123]#不存在倒數(shù)第123個(gè)元素,所以報(bào)錯(cuò)Traceback?(most?recent?call?last):??File?"",?line?1,?in?????s[-123]IndexError:?string?index?out?of?range

對(duì)于切片操作同理,這里給出幾個(gè)栗子:

>>>?s="Great?Python">>>?s[-3:-1]#注意區(qū)間左閉右開'ho'>>>?s[-5:-1:2]#注意區(qū)間左閉右開'yh'

如果仔細(xì)觀察,你會(huì)發(fā)現(xiàn),上面所有的栗子中,start都是小于end的,那能不能出現(xiàn)start>end呢?

答案是可以!但同時(shí)需要將步長(zhǎng)step設(shè)置為負(fù),否則選取到的結(jié)果一定是空!

>>>?s='Graet?Python'>>>?s[4:1]#未設(shè)置步長(zhǎng),采用默認(rèn)值1(正),結(jié)果為空''>>>?s[-1:-4]#未設(shè)置步長(zhǎng),采用默認(rèn)值1(正),結(jié)果為空''>>>?s[-1:-4:2]#步長(zhǎng)為2(正),結(jié)果為空''>>>?s[4:1:-1]#設(shè)置了步長(zhǎng)為-1(負(fù))'tea'>>>?s[-1:-6:-2]#設(shè)置了步長(zhǎng)為-2(負(fù))'nhy'

更多字符串操作

定義一個(gè)字符串:

s='Hello?World'

1.求字符串長(zhǎng)度:使用len()函數(shù)

>>>?s='Hello?World'>>>?len(s)11

2.選取全部元素

#方法1>>>?s[0:len(s)]'Hello?World'#方法2:`切片`特有的操作>>>?s[::]'Hello?World'

3.選取倒序的全部元素

#`切片`特有的操作>>>?s[::-1]'dlroW?olleH'

本期內(nèi)容到這里就結(jié)束了,關(guān)于字符串的用法還沒有講完,剩余內(nèi)容將在下期介紹。

在結(jié)束之前,簡(jiǎn)單介紹一下print()。

print()用于正如其名,用于輸出結(jié)果到屏幕上。

將'Hello World!'輸出到屏幕上,只需將這個(gè)字符串放進(jìn)()內(nèi),運(yùn)行即可:

>>>?print('Hello?World!')Hello?World!

()內(nèi)也可以放入變量:

>>>?s='Hello?World!'>>>?print(s)Hello?World!

明天的內(nèi)容有些多,要做好準(zhǔn)備哦~

大家加油!有問題留言區(qū)見。

本文首發(fā)于微信公眾號(hào):我將在南極找尋你

總結(jié)

以上是生活随笔為你收集整理的python求列表最大值下标_切片,丝滑的字符串 | Python基础连载(三)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。