python容器入門(簡單易懂)
阿新 • • 發佈:2021-01-18
容器
容器就是供我們使用的物件(不是處物件那個)
用於方便我們操作和管理大批量的資料
分為四個型別:
一、list列表
列表,即有序的數列
在程式中,線性表:陣列、連結串列、棧、佇列
python的list底層就是基於雙向連結串列結構設計的
如何定義list
1.藉助python的弱資料型別的特點
ls1 = [] #ls為變數名 自己定義,此為空列表
ls2 = [2,3,4] # 建立了有這些元素的列表
print(ls1)
print(ls2)
2.藉助python提供的全域性函式建立list
ls1 = list() #空表 ls2 = list([3,5,6,7,8]) #有這些元素的列表 print(ls1) print(ls2)
訪問list中的元素
線性表都是具有下標(索引)的,可以根據索引訪問
列表物件[下標](從0開始,注意越界)
ls1 = [2,3,4,6,5] #建立了有這些元素的列表
ls2 = list([3,5,6,7,8]) #有這些元素的列表
print(ls1[3])
print(ls2[0])
len(ls2) #統計list中的函式
遍歷列表
藉助迴圈語句即可
ls2 = list([3,5,6,7,8]) #有這些元素的列表
for i in ls2:
print(i)
控制列表
append(元素):在列表尾部追加元素
remove(元素):移除元素,如果不存在,則報錯
pop (index=一1):預設移除最後一個元素,如果存在引數,則就是要移除的下標(若是有誤,則會報錯)
copy:將此列表內容複製到另一列表上
clear ( ):清空列表
reverse ( ):清空列表
sort ():清空列表
index(元素):查詢無素的位置
count(元素):合併列表
extend: 合併列表
二、set集合
特點:
1.無序的。
2.不能重複。
底層是使用雜湊表的結構設計的(hash)
定義集合:
1.藉助python的弱資料型別的特點
s = {1,3,5} #必須有值,不然預設空{}是字典型別,不是集合
2.藉助python提供的全域性函式建立set
s = set({1,3,5})
遍歷
只能for遍歷,因為是無序的while無法遍歷
控制集合
add() : 新增元素
clear() : 清除列表
copy() : 淺拷貝物件
difference() : 差集
intersection() : 交集
union() : 並集
remove(元素) :移除元素,如果不存在,則報錯
pop(元素) : 隨機(arbitrary)移除,不存在,則報錯
discard(元素) : 隨機(arbitrary)移除,不存在,則什麼都不做
三、tuple元組
不可變資料型別,裡面的元素不允許被修改
1.藉助python的弱資料型別的特點
t = (1,3,5)
2.藉助python提供的全域性函式建立tuple
t = tuple((1,2,4,5))
控制元組
count :統計元素個數
index :檢視元素索引位置
四、dict字典
字典是一一對應的。
1.藉助python的弱資料型別的特點
d = {}
d = {k1: v1, k2: v2}
2.藉助python提供的全域性函式建立dict
d = dict({})
d = dict({a1:b2,a2:b2})
單個訪問
d["k1"]
d.get("k2")
p["name"] = "lisi" # 增加鍵值對
遍歷
1,
for key in p:
print(key, p[key])
2.
for key in p.keys():
print(key , p.get(key))
3.
for key, value in p.items():
print(key, value)
for (key, value) in p.items():
print(key, value)
for t in p.items():
print(t[0], t[1])
控制字典
clear:刪除字典內所有元素。
copy:返回一個字典的淺複製。
get:返回指定鍵的值。
keys() :將所有的key返回
values() : 將所有的值返回
setdefault :返回指定鍵的值,如果鍵不在字典中,將會新增鍵並將值設定為一個指定值,預設為None。
items() : 一對一對的返回
pop(key) : 通過key刪除對應鍵值對
popitem() : 安裝 LIFO (last-in, first-out) order 刪除鍵值對