這章繼續(xù)講解列表的功能。clear這個(gè)功能清空列表的所有元素。
name = ['美杜莎', '古薰兒', '云韻', '雅妃','美杜莎','美杜莎','美杜莎']
name.clear()
print(name)
然后繼續(xù)看reverse,這個(gè)功能的作用和切片這個(gè)操作一樣都是把列表反轉(zhuǎn)的意思。先來看切片的效果,結(jié)果就是列表被反轉(zhuǎn)了。
name = ['美杜莎', '古薰兒', '云韻', '雅妃']
print(name[::-1])
只是切片會(huì)復(fù)制一個(gè)新列表出來,而reverse會(huì)直接改變?cè)斜?。打印一下,結(jié)果也是一樣的。
name = ['美杜莎', '古薰兒', '云韻', '雅妃']
print(name[::-1])
name.reverse()
print(name)
現(xiàn)在我們來看iebook最后一個(gè)需要掌握的功能,sort。它的作用是排序。我先定義了一個(gè)列表。
l=[33,11,22,88,66]
l.sort()
print(l)
在sort后面不給它傳參數(shù)的話,默認(rèn)就是升序,也就是從小到大排列。然后我們要從大到小排列的話,就要傳參數(shù)了,而且和我們前面的不一樣。
比如insert這個(gè)功能,我們會(huì)直接傳參數(shù),第一個(gè)穿索引號(hào),第二個(gè)參數(shù)傳要插入的內(nèi)容。這種第一個(gè)參數(shù)傳什么、第二個(gè)參數(shù)傳什么 這叫位置參數(shù)。
而sort功能的參數(shù),叫關(guān)鍵字參數(shù),就是什么等于什么,我們要從大到小排,需要給它傳關(guān)鍵字參數(shù)就是reverse等于True。
reverse本身也是反轉(zhuǎn)的意思,就相當(dāng)于在原來的基礎(chǔ)上反轉(zhuǎn)一下。我們來運(yùn)行看看。
l = [33, 11, 22, 88, 66]
l.sort(reverse=True)
print(l)
和上面運(yùn)行的正好相反。
剛剛我們定義的列表是數(shù)字,很明顯可以用來比大小進(jìn)行排序的,但是如果我在這個(gè)列表里加幾個(gè)字符串呢?結(jié)果就會(huì)直接報(bào)錯(cuò),可以自己試試。
因?yàn)樽址荒芎蛿?shù)字驚喜比較運(yùn)算,我們前面也學(xué)過。但是如果列表里存的類型都是同一種類型就可以進(jìn)行排序。
當(dāng)然整型和浮點(diǎn)型是可以比大小的,這就不用說了。
我現(xiàn)在定義一個(gè)英文字符串試試排序。
l=['s','w','p','e'] # 列表里面同一種類型 可以排序
l.sort()
print(l)
字符串可以進(jìn)行排序,那么說明字符串也可以比大小的對(duì)吧。
可以自己用比較運(yùn)算符來比較看下,打印結(jié)果肯定是一個(gè)布爾值!
為什么會(huì)可以比較大小呢?其實(shí)是根據(jù)一張叫ASCI碼表的先后順序來比較的,這張表里方的是字母數(shù)字的對(duì)應(yīng)關(guān)系,因?yàn)橛?jì)算機(jī)不能識(shí)別字母的,必須是數(shù)字轉(zhuǎn)成二進(jìn)制計(jì)算機(jī)才能識(shí)別,這個(gè)ASCI碼表等到我后面講編碼的時(shí)候才會(huì)講。
未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » Python 列表詳解