跟我讀python3文檔:019_數據結構(5. Data Structures)上

貫穿始終的理念:別廢話,就是干斑鸦!


往期回顧

  • 自定義函數
  • 默認參數
  • 關鍵字參數

文檔解讀

python3文檔第五小節(jié)鏈接地址:5. Data Structures

本章主要講解5.1. More on Lists(列表的更多信息)這個小節(jié)


5.1. More on Lists

本期我們主要講解數據結構愕贡。
之前我們已經接觸過數據結構了,比如字符串鄙才、列表颂鸿、字典等,我們知道了他們的基本表現形式攒庵,以及他們的特性嘴纺。比如列表是用方括號括起來的一組數據,本身是可改變的浓冒;字符串是特殊的列表栽渴,本身不可改變等。

我們還講過一句話:在python中稳懒,一切皆對象闲擦。
我們說對象其實就是一種特殊的數據結構,它包含變量和函數场梆。我們把對象里的變量稱為屬性墅冷,把函數稱為方法。
既然一切皆對象或油,列表自然也是對象寞忿,列表自然也有變量和函數。
所以顶岸,本期我們學習的就是列表里的函數腔彰,即:列表的方法。

學函數主要是學什么還記得嗎辖佣?

  • 函數的參數
  • 函數的作用
  • 函數的返回值

學列表的方法也是這個套路霹抛。

在正式學習方法前,我們先來回憶一下之前講解的列表的知識:

  1. 列表是一個序列卷谈,列表里的每一個值都有一個排序的序號最為下標杯拐,這個序號被稱為索引值。索引值是從零開始計數的。
  2. 列表是一個可變序列藕施,我們可以通過索引值來改變指定序號的值寇损。
>>> a = [234, 345, 567]
>>> a[0] = 100
>>> a
[100, 345, 567]
  1. 我們可以通過切片操作,取得列表指定范圍的值
>>> 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)

這里你要時刻記得甲抖,“方法”就是函數漆改!之后我們要按照學函數的步驟,學習“方法”

列表方法簡介

  1. 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'])


  1. 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


  1. list.insert(i, x)
  • 作用:將指定對象插入列表的指定位置闹究。
  • 參數:
    i -- 對象x需要插入的索引位置幔崖。
    x -- 要插入列表中的對象。
  • 返回值:None

舉例:

>>> list1 = ['galipy', 'python', 'google']
>>> list1.insert(1, 'Baidu')
>>> list1
['galipy', 'Baidu', 'python', 'google']


  1. list.remove(x)
  • 作用:移除列表中某個值的第一個匹配項渣淤。
    這里要注意“第一個”這個詞赏寇。
    在列表中,可能會存在相同的值砂代,但remove方法會移除第一個匹配項蹋订。

  • 參數:列表中的一個值

  • 返回值:None
    舉例:

>>> list1 = ['galipy', 'python', 'google', 'python']
>>> list1.remove('python')
>>> list1
['galipy', 'google', 'python']

  1. 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ū)別。


  1. list.clear()
  • 作用:清空列表
  • 參數:無
  • 返回值:無
    舉例:
>>> list1 = ['galipy', 'python', 'google']
>>> list1.clear( )
>>> list1
[ ]

  1. 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

  1. list.count(x)
  • 作用:統(tǒng)計列表內某個值在列表中出現的次數晨川。
  • 參數:列表內某個值
  • 返回值:出現次數
    舉例:
>>> list1 = ['galipy', 'python', 'google', 'baidu', 'python']
>>> list1.count('python')
2

  1. 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']

注意排序結果,他是按照首字母順序排列的猜惋,如果首字母相同丸氛,看下一個字母。


  1. list.reverse()
  • 作用:翻轉列表
  • 參數:無
  • 返回值:None
    舉例:
>>> list1 = ['galipy', 'python', 'google', 'baidu']
>>> list1.reverse( )
>>> list1
['baidu', 'google', 'python', 'galipy']

  1. list.copy()
  • 作用:復制列表
  • 參數:無
  • 返回值:復制的新列表
    舉例:
>>> list1 = ['galipy', 'python', 'google', 'baidu']
>>> list2 = list1.copy( )
>>> list2
['galipy', 'python', 'google', 'baidu']

以后你還會遇到很多數據類型著摔,學習很多方法缓窜,但它們很多都與列表的方法類似,所以梨撞,
請背誦以上這些方法雹洗!

別廢話,就是干卧波!
還不快點贊时肿!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市港粱,隨后出現的幾起案子螃成,更是在濱河造成了極大的恐慌,老刑警劉巖查坪,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件寸宏,死亡現場離奇詭異,居然都是意外死亡偿曙,警方通過查閱死者的電腦和手機氮凝,發(fā)現死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來望忆,“玉大人罩阵,你說我怎么就攤上這事∑羯悖” “怎么了稿壁?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長歉备。 經常有香客問我傅是,道長,這世上最難降的妖魔是什么蕾羊? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任喧笔,我火速辦了婚禮,結果婚禮上龟再,老公的妹妹穿的比我還像新娘溃斋。我一直安慰自己,他們只是感情好吸申,可當我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般截碴。 火紅的嫁衣襯著肌膚如雪梳侨。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天日丹,我揣著相機與錄音走哺,去河邊找鬼。 笑死哲虾,一個胖子當著我的面吹牛丙躏,可吹牛的內容都是我干的。 我是一名探鬼主播束凑,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼晒旅,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了汪诉?” 一聲冷哼從身側響起废恋,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎扒寄,沒想到半個月后鱼鼓,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡该编,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年迄本,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片课竣。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡嘉赎,死狀恐怖,靈堂內的尸體忽然破棺而出稠氮,到底是詐尸還是另有隱情曹阔,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布隔披,位于F島的核電站赃份,受9級特大地震影響,放射性物質發(fā)生泄漏奢米。R本人自食惡果不足惜抓韩,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鬓长。 院中可真熱鬧谒拴,春花似錦、人聲如沸涉波。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至苍日,卻和暖如春惭聂,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背相恃。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工辜纲, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人拦耐。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓耕腾,卻偏偏與公主長得像,于是被迫代替她去往敵國和親杀糯。 傳聞我的和親對象是個殘疾皇子扫俺,可洞房花燭夜當晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內容

  • 第5章 引用類型(返回首頁) 本章內容 使用對象 創(chuàng)建并操作數組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,233評論 0 4
  • http://python.jobbole.com/85231/ 關于專業(yè)技能寫完項目接著寫寫一名3年工作經驗的J...
    燕京博士閱讀 7,571評論 1 118
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現火脉,斷路器牵舵,智...
    卡卡羅2017閱讀 134,651評論 18 139
  • 這只是一個小鎮(zhèn),是我從小長大的地方倦挂,她不算繁華畸颅,沒有過于寬闊的街道和看到脖子酸的高樓大廈,沒有喧囂的車鳴方援,也沒有...
    玖歌不是哥閱讀 172評論 0 2
  • w出生的第三天被自己的親生母親丟棄在鄉(xiāng)村的田埂上没炒。她哭了兩個小時被路過的好心人抱了回去自己養(yǎng)。包裹她的衣服里沒有任...
    勤奮的小小怪獸閱讀 457評論 0 1