我喜歡 Python 的緣由之一是由於它簡單,短短几行代碼就能夠作不少事情。Python 內置了很強大的數據結構,咱們能夠直接用,沒必要像其餘語言同樣先構造數據結構再使用。Python 內置了四種數據結構:列表、元組、字典、集合。只要掌握這四種內置數據結構,基本上就能夠解決 80% 須要數據結構的問題了。python
在 Python 中,萬物皆對象,所以存儲在數據結構中的數據所有均可以按照對象來看待。
web
這四種內置的數據結構按照存儲的對象有序和無序能夠分紅兩大類,這裏說的有序是按照咱們輸入的順序存儲。讓咱們來認識一下這四種數據結構吧。數組
列表有點相似於 C 語言中的數組,可是相比較數組來講,它裏面的對象能夠動態地進行添加和刪除。微信
語法:數據結構
以中括號爲標誌:[ ]app
建立一個列表編輯器
letters = ['h', 'e', 'l', 'l', 'o']複製代碼print(letters)複製代碼
函數
flex
['h', 'e', 'l', 'l', 'o']複製代碼
spa
經常使用的一些方法:
append()
在列表結尾添加對象
參數:對象值
remove()
從列表中刪除指定元素的第一次出現
參數:對象值
pop()
從列表指定索引值位置刪除並返回一個對象。
缺省:索引值爲列表最後位置
參數:索引值
extend()
將兩個列表合併
參數:一個列表對象
insert()
將一個對象插入到現有列表中指定索引值前
參數:索引值 + 對象值
copy()
建立一個列表副本
能夠把元組看作一個不可變的列表,一旦被初始化,就不能夠再修改元組中的對象。
語法:
以小括號做爲標誌:( )
建立一個元組
letters = ('h', 'e', 'l', 'l', 'o')複製代碼print(letters)複製代碼
('h', 'e', 'l', 'l', 'o')複製代碼
在字典中存儲的是一個鍵值對序列。
語法:
以大括號做爲標記:{鍵: 值}
建立一個字典,統計 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}複製代碼
集合的一大特色就是存儲的對象不容許重複。
語法:
以大括號做爲標記:{ }
建立一個集合
letters = {'h', 'e', 'l', 'o'}複製代碼print(letters)複製代碼
{'e', 'h', 'o', 'l'}複製代碼
這裏是否是有點熟悉呢?字典也是以大括號做爲標記,可是字典裏面的對象都是以鍵值對形式存在。
建立集合:
方法一:就像上面同樣,以大括號形式建立集合:{ }
方法二:set() 函數,傳入任意序列,(好比一個字符串)返回一個集合
print(set('hello'))複製代碼
{'e', 'h', 'o', 'l'}複製代碼
到目前爲止,只是給你們簡單介紹了四種內置的數據結構,若是想要對其進行更深一步的瞭解,能夠查閱官方文檔(沒有什麼是比查官方文檔更清楚的了,想要學好 Python,必定要多多查閱官方文檔哦)。
ps.若是想要打開新世界的大門,能夠掃描下方的二維碼,關注微信公衆號「SuperFeng」。