- 本教程為python3文檔解讀
- 本教程面向完全型小白,只要你會在電腦上打字塑悼,那你就可以看懂劲适。
- 參考視頻觀看,味道更加:https://space.bilibili.com/186584185/#!/video
- 建議優(yōu)先閱讀本系列的《編程的本質》這一章節(jié)厢蒜。
- 推薦閱讀:《跟我讀python3文檔:016_帶你手撕程序霞势,展現一個函數如何從思路到實現》
作者:咖喱py
貫穿始終的理念:別廢話,就是干斑鸦!
往期回顧:
- 自定義函數
- 默認參數
- 關鍵字參數
文檔解讀
python3文檔第五小節(jié)鏈接地址:5. Data Structures
本章主要講解5.1. More on Lists(列表的更多信息)這個小節(jié)
5.1. More on Lists
本期我們主要講解數據結構愕贡。
之前我們已經接觸過數據結構了,比如字符串鄙才、列表颂鸿、字典等,我們知道了他們的基本表現形式攒庵,以及他們的特性嘴纺。比如列表是用方括號括起來的一組數據,本身是可改變的浓冒;字符串是特殊的列表栽渴,本身不可改變等。
我們還講過一句話:在python中稳懒,一切皆對象闲擦。
我們說對象其實就是一種特殊的數據結構,它包含變量和函數场梆。我們把對象里的變量稱為屬性墅冷,把函數稱為方法。
既然一切皆對象或油,列表自然也是對象寞忿,列表自然也有變量和函數。
所以顶岸,本期我們學習的就是列表里的函數腔彰,即:列表的方法。
學函數主要是學什么還記得嗎辖佣?
- 函數的參數
- 函數的作用
- 函數的返回值
學列表的方法也是這個套路霹抛。
在正式學習方法前,我們先來回憶一下之前講解的列表的知識:
- 列表是一個序列卷谈,列表里的每一個值都有一個排序的序號最為下標杯拐,這個序號被稱為索引值。索引值是從零開始計數的。
- 列表是一個可變序列藕施,我們可以通過索引值來改變指定序號的值寇损。
>>> a = [234, 345, 567]
>>> a[0] = 100
>>> a
[100, 345, 567]
- 我們可以通過切片操作,取得列表指定范圍的值
>>> a = [234, 345, 567,789]
>>> a[0 : 2]
[234, 345]
如果不記得這些知識的話裳食,可以翻回往期教程矛市,或是搜索相關關鍵字學習,嘗試獨立解決問題诲祸。
如果對以上這些知識都沒有問題了浊吏,那就開始接下來的學習吧~
段落截取(一)
The list data type has some more methods. Here are all of the methods of list objects.
名詞解釋
methods
方法救氯,也就是我們說的列表內部自帶的函數找田。
段落大意
列表類型有很多方法,我們將全部介紹着憨。
作者:咖喱py
知識點:數據類型的內部方法調用墩衙,都是以數據(或變量名)+點+方法名的方式調用。
形式如下:list.append(x)
這里你要時刻記得甲抖,“方法”就是函數漆改!之后我們要按照學函數的步驟,學習“方法”
列表方法簡介
- list.append(x)
- 作用:通過給列表末尾添加單一數據准谚,改變列表挫剑。
我們單從方法名也能看出他的作用,就是在末尾添加的意思柱衔。
這里要注意單一的意思樊破,指的是列表只是添加了一個索引值的數據,但是這個索引值所對應的數據可以是任何類型唆铐。比如list哲戚。 - 參數:任意數據
- 返回值:None
None你可以暫時理解為沒有的意思。也就是沒有返回值艾岂。
你要時刻記住一點惫恼,作用和返回值是兩碼事。
作用指的是它產生的效果澳盐,比如在屏幕上打印出一句話,比如改變變量的值令宿。
返回值指的是在一個函數中return語句指定的值叼耙。你可以通過它來指定任何值來當作函數的返回值。
舉例:
>>> list1 = ['galipy', 'python']
>>> list1.append('jianshu')
>>> list1
['galipy', 'python', 'jianshu']
思考:
添加一個列表會發(fā)生什么粒没?
>>> list1 = ['galipy', 'python']
>>> list1.append(['jianshu', 'galipython'])
- list.extend(iterable)
- 作用:在列表末尾擴展一個可迭代對象
這里比較難理解的是可迭代對象這個概念筛婉,目前你可以簡單理解為包含多個數據的數據類型架谎。比如:列表。 - 參數:可迭代對象
想想看我們之前講過的一個可以生成可迭代對象的函數range( )院水。 - 返回值:None归敬,即沒有返回值。
舉例:
>>> list1 = ['galipy', 'python']
>>> list2 = ['Google', 'baidu']
>>> list1.extend(list2)
>>> list1
['galipy', 'python', 'Google', 'baidu']
思考:
我們要注意區(qū)別append和extend兩個方法的區(qū)別硕勿。如果兩個方法的參數傳入的都是一個列表哨毁,他們有什么不同嗎?自己試試源武,對比看看扼褪。
還記得range( )這個函數嗎?我們說它也會生成可迭代對象粱栖,如果把它作為extend( )方法的參數话浇,會發(fā)生什么?
>>> list1 = ['galipy', 'python']
>>> list1.extend(range(1,5))
>>> list1
- list.insert(i, x)
- 作用:將指定對象插入列表的指定位置闹究。
- 參數:
i -- 對象x需要插入的索引位置幔崖。
x -- 要插入列表中的對象。 - 返回值:None
舉例:
>>> list1 = ['galipy', 'python', 'google']
>>> list1.insert(1, 'Baidu')
>>> list1
['galipy', 'Baidu', 'python', 'google']
- list.remove(x)
作用:移除列表中某個值的第一個匹配項渣淤。
這里要注意“第一個”這個詞赏寇。
在列表中,可能會存在相同的值砂代,但remove方法會移除第一個匹配項蹋订。參數:列表中的一個值
返回值:None
舉例:
>>> list1 = ['galipy', 'python', 'google', 'python']
>>> list1.remove('python')
>>> list1
['galipy', 'google', 'python']
- list.pop([i])
- 作用:移除列表中的某一項。默認是移除最后一項刻伊。
- 參數:索引值露戒,有默認參數。
- 返回值:被移除的那項捶箱。
舉例:
>>> list1 = ['galipy', 'python', 'google', 'baidu']
>>> list1.pop( ) #移除默認項
'baidu'
>>> list1 #打印列表
['galipy', 'python', 'google']
>>> list1.pop(1) #移除指定項
'python'
>>> list1 #打印列表
['galipy', 'google']
注意區(qū)分remove和pop智什,尤其是他們的參數和返回值的區(qū)別。
- list.clear()
- 作用:清空列表
- 參數:無
- 返回值:無
舉例:
>>> list1 = ['galipy', 'python', 'google']
>>> list1.clear( )
>>> list1
[ ]
- list.index(x[, start[, end]])
- 作用:查看列表內丁屎,某個值的索引值荠锭。
- 參數:
x -- 指列表內的值。
start -- 起始范圍下標(可選)
end -- 結束范圍下標(可選)
返回值:索引值
舉例:
>>> list1 = ['galipy', 'python', 'google']
>>> list1.index('galipy')
0
>>> list1
['galipy', 'python', 'google']
>>> list1.index('galipy', 1, 2) #限定錯誤范圍
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: 'galipy' is not in list
- list.count(x)
- 作用:統(tǒng)計列表內某個值在列表中出現的次數晨川。
- 參數:列表內某個值
- 返回值:出現次數
舉例:
>>> list1 = ['galipy', 'python', 'google', 'baidu', 'python']
>>> list1.count('python')
2
- list.sort(key=None, reverse=False)
- 作用:用于對原列表進行排序证九,如果key指定其他函數作為參數,則使用指定的函數規(guī)則進行比較共虑。
- 參數:
key -- 規(guī)則函數
reverse -- 排序是否翻轉愧怜,默認False,不翻轉妈拌。
注意拥坛,這相當于有默認值的參數。 - 返回值:None
舉例:
>>> list1 = ['galipy', 'python', 'google', 'baidu']
>>> list1.sort( )
>>> list1
['baidu', 'galipy', 'google', 'python']
注意排序結果,他是按照首字母順序排列的猜惋,如果首字母相同丸氛,看下一個字母。
- list.reverse()
- 作用:翻轉列表
- 參數:無
- 返回值:None
舉例:
>>> list1 = ['galipy', 'python', 'google', 'baidu']
>>> list1.reverse( )
>>> list1
['baidu', 'google', 'python', 'galipy']
- list.copy()
- 作用:復制列表
- 參數:無
- 返回值:復制的新列表
舉例:
>>> list1 = ['galipy', 'python', 'google', 'baidu']
>>> list2 = list1.copy( )
>>> list2
['galipy', 'python', 'google', 'baidu']
以后你還會遇到很多數據類型著摔,學習很多方法缓窜,但它們很多都與列表的方法類似,所以梨撞,
請背誦以上這些方法雹洗!
別廢話,就是干卧波!
還不快點贊时肿!