­

一定要知道的Python內置數據結構

  • 2019 年 10 月 7 日
  • 筆記

我喜歡 Python 的原因之一是因為它簡單,短短几行代碼就可以做很多事情。Python 內置了很強大的數據結構,我們可以直接用,不必像其他語言一樣先構造數據結構再使用。Python 內置了四種數據結構:列表元組字典集合。只要掌握這四種內置數據結構,基本上就可以解決 80% 需要數據結構的問題了。

在 Python 中,萬物皆對象,因此存儲在數據結構中的數據全部都可以按照對象來看待。

這四種內置的數據結構按照存儲的對象有序和無序可以分成兩大類,這裡說的有序是按照我們輸入的順序存儲。讓我們來認識一下這四種數據結構吧。

01

列表(有序)

列表有點類似於 C 語言中的數組,但是相比較數組來說,它裏面的對象可以動態地進行添加和刪除。

語法:

以中括號為標誌:[ ]

創建一個列表

letters = ['h', 'e', 'l', 'l', 'o']  print(letters)
['h', 'e', 'l', 'l', 'o']

常用的一些方法:

append()

在列表結尾添加對象

參數:對象值

remove()

從列表中刪除指定元素的第一次出現

參數:對象值

pop()

從列表指定索引值位置刪除並返回一個對象。

缺省:索引值為列表最後位置

參數:索引值

extend()

將兩個列表合併

參數:一個列表對象

insert()

將一個對象插入到現有列表中指定索引值前

參數:索引值 + 對象值

copy()

創建一個列表副本

02

元組(有序)

可以把元組看做一個不可變的列表,一旦被初始化,就不可以再修改元組中的對象。

語法:

以小括號作為標誌:( )

創建一個元組

letters = ('h', 'e', 'l', 'l', 'o')  print(letters)
('h', 'e', 'l', 'l', 'o')

03

字典(無序)

在字典中存儲的是一個鍵值對序列。

語法:

以大括號作為標記:{鍵: 值}

創建一個字典,統計 hello 中各字母出現的次數

dic = {'h': 1, 'e': 1, 'l': 2, 'o': 1}  print(dic)
{'h': 1, 'e': 1, 'l': 2, 'o': 1}

訪問對象:

使用鍵來訪問字典中的對象:dic[鍵] -> 返回對應的值

print(dic['h'])
1

添加對象:

dic[鍵] = 值

dic['w'] = 0  print(dic)
{'h': 1, 'e': 1, 'l': 2, 'o': 1, 'w': 0}

04

集合(無序)

集合的一大特點就是存儲的對象不允許重複。

語法:

以大括號作為標記:{ }

創建一個集合

letters = {'h', 'e', 'l', 'o'}  print(letters)
{'e', 'h', 'o', 'l'}

這裡是不是有點熟悉呢?字典也是以大括號作為標記,但是字典裏面的對象都是以鍵值對形式存在。

創建集合:

方法一:就像上面一樣,以大括號形式創建集合:{ }

方法二:set() 函數,傳入任意序列,(比如一個字符串)返回一個集合

print(set('hello'))
{'e', 'h', 'o', 'l'}

到目前為止,只是給大家簡單介紹了四種內置的數據結構,如果想要對其進行更深一步的了解,可以查閱官方文檔(沒有什麼是比查官方文檔更清楚的了,想要學好 Python,一定要多多查閱官方文檔哦)。