菜鳥學(xué)Python,
Python的組合數(shù)據(jù)類型:
?列表——案例
?元組——拓展[dir/help]
?集合
?字典
列表:list 可以存儲(chǔ)多個(gè)有順序的可以重復(fù)的數(shù)據(jù)的類型
其他語(yǔ)言:數(shù)據(jù);python中~提供的是列表[不說(shuō)數(shù)組]
列表:操作數(shù)據(jù):增加、刪除、修改、查詢 [CRUD]
append/insert/extend:增加
del:刪除
通過(guò)下標(biāo)/索引/編號(hào):修改/查詢
count/index/sort/reverse|pop/clear/remove
dir()/help()
元組:tuple,可以存放一組有順序的可以重復(fù)的不可改變的數(shù)據(jù)!
就是一種簡(jiǎn)化的列表
元組主要是用于數(shù)據(jù)處理的:增加、刪除[刪除元組本身]、修改、查詢
?聲明元組
?t1 = tuple() 聲明空元組
?t2 = () 聲明空元組
?t3 = (1,2,3,4,5) 聲明包含元素的元組
?t4 = (“h”) t4 = (“h”,) 如果只有一個(gè)元素,添加一個(gè)逗號(hào)分隔
?t5 = (1) t5 = (1,) 如果只有一個(gè)元素,添加一個(gè)逗號(hào)分隔
?程序中,如果出現(xiàn)了一組數(shù)據(jù),在使用過(guò)程中,不允許修改的情況下
?優(yōu)先選擇:元組 tuple
?其次選擇:列表 list
?查詢相關(guān)函數(shù),可以直接操作,如:len()查看元組中元素的個(gè)數(shù)
?運(yùn)算相關(guān):
?元組自己沒(méi)有提供count/index之外的操作
?外部有一個(gè)默認(rèn)的函數(shù)sorted可以針對(duì)元組進(jìn)行排序
?排序注意:使用系統(tǒng)默認(rèn)排序~保證排序的數(shù)據(jù)他們的數(shù)據(jù)類型是一致的!
元組:tuple,只有兩個(gè)可以操作的函數(shù)[count()/index()]
可以存放多個(gè)有順序的可以重復(fù)的不能改變的數(shù)據(jù)!
集合:set
需求場(chǎng)景:我們需要存放一組數(shù)據(jù),但是不希望存放重復(fù)的數(shù)據(jù)!用戶的賬號(hào)!
集合:通過(guò)哈希(hash)算法在一個(gè)容器中存放多個(gè)沒(méi)有順序的不可以重復(fù)的數(shù)據(jù)
聲明一個(gè)集合:
s1 = set() <class ‘set’>
s2 = {“a”} <class ‘set’>
s3 = {} <class ‘dict’>
集合是用于存儲(chǔ)和處理數(shù)據(jù)的,常見(jiàn)的操作函數(shù)都有那些?
dir(set)
'add'增加, 'clear'清空, 'copy'復(fù)制, 'difference'兩個(gè)集合之間求差集, 'difference_update'求差集并且用不一樣的數(shù)據(jù)重新給自己賦值, 'discard', 'intersection'求交集, 'intersection_update'求交集并給自己賦值, 'isdisjoint', 'issubset', 'issuperset', 'pop'隨機(jī)刪除一個(gè), 'remove'指定刪除某個(gè)數(shù)據(jù), 'symmetric_difference', 'symmetric_difference_update', 'union'求并集, 'update'求并集并給自己賦值
集合:python中內(nèi)置的組合數(shù)據(jù)類型之一:set表示
存儲(chǔ)多個(gè)沒(méi)有順序的不可以重復(fù)的數(shù)據(jù);通過(guò)hash算法讓添加的數(shù)據(jù)不重復(fù)[剔重]!
python中的字典:dict
可以存儲(chǔ)多個(gè)key:value 鍵值對(duì)數(shù)據(jù)的組合數(shù)據(jù)類型
常見(jiàn)操作:聲明字典
?d1 = dict() # 空字典
?d2 = {} # 空字典
數(shù)據(jù)常見(jiàn)操作:增加、刪除、修改、查詢
clear'清空, 'copy'復(fù)制, 'fromkeys'通過(guò)制定的key生成一個(gè)值為None的字典, 'get'根據(jù)key獲取對(duì)應(yīng)的值, 'items'獲取所有的k:v鍵值對(duì), 'keys'獲取所有的鍵, 'pop'根據(jù)key值刪除一個(gè)鍵值對(duì), 'popitem'隨機(jī)刪除一個(gè)鍵值對(duì), 'setdefault'增加一個(gè)數(shù)據(jù),如果數(shù)據(jù)存在~修改, 'update', 'values獲取所有的值
字典中,增加數(shù)據(jù)
f[key] = value
f.setdefault(key, value)
f.update(key, value)
刪除數(shù)據(jù):刪除一個(gè)鍵值對(duì)
f.pop(key) 刪除制定的key:value鍵值對(duì)
f.popitem() 隨機(jī)刪除一個(gè)鍵值對(duì)
def f[key] 刪除制定的key:value鍵值對(duì)
修改數(shù)據(jù)
f[key] = value
f.update({key, value})
查詢數(shù)據(jù)
v = f[key]
v = f.get(key)
遍歷數(shù)據(jù)
for k in f.keys():# 直接循環(huán)字典中的key數(shù)據(jù)
print(k, f.get(k)) # value數(shù)據(jù)通過(guò)key數(shù)據(jù)獲取
for k, v in f.items():# 直接循環(huán)字典中的key和value數(shù)據(jù)
print(k, v)
組合數(shù)據(jù)類型
列表list
[append/insert/extend/pop/remove/clear/count/index/sort/reverse]
[len/max/min/sorted]
元組tuple
[count/index]
[len/max/min/sorted]
集合set
[add/pop/remove/discard/clear/difference/intersection/union]
[len/max/min/sorted]
字典dict
[get/pop/popitem/clear/keys/values/items/update/setdefault]