Set
創(chuàng)新互聯(lián)專注于石拐企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),商城系統(tǒng)網(wǎng)站開發(fā)。石拐網(wǎng)站建設(shè)公司,為石拐等地區(qū)提供建站服務(wù)。全流程按需策劃,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
set的定義:
set是可變的,無(wú)序的,不重復(fù)的元素組成的可迭代的集合。
set () 定義一個(gè)空集合。
set(iterable) 定義一個(gè)set
例如:set1=set(range(100))
set 中的元素
set中的元素必須是可hash,元素可以迭代,不可以索引。
可hash的數(shù)據(jù)類型:
數(shù)值型:int 、float、complex
布爾型: True 、False
字符串: string 、 bytes
None
set的方法:
增加:
add (elem) 在集合中增加一個(gè)元素,如果元素存在,什么都都不做,時(shí)間復(fù)雜度O(1)
update(*others) 在集合中合并其它元素到set中來(lái),參數(shù)必須是可迭代對(duì)象,直接修該set
刪除:
remove (elem) 從集合中移除一個(gè)元素,元素不存在,拋出KeyError異常。
discard(elem) 從集合中移除一個(gè)元素,元素不存在,什么也不做。
pop() 從集合中移除任意元素(由于不可索引),空集返回KeyError異常
clear() 移除所有元素
由于set是非線性數(shù)據(jù)結(jié)構(gòu),不可索引,所以set中元素?zé)o法修改,要么直接刪除,要么加入新的元素。
可以做成員運(yùn)行:
in 和not in 由于使用的是hash算法,時(shí)間復(fù)雜度為O(1)
字典 dict
dict的定義:
dict是由key-value 鍵值對(duì)的組成的,可變的,無(wú)序的,key不重復(fù)的數(shù)據(jù)的集合
d = dict() 定義一個(gè)空字典
d= { } 定義一個(gè)空字典
dict(** kwargs) 使用name= value 初始化一個(gè)字典
dict(iteable , **kwargs) 使用可迭代對(duì)象(必須是一個(gè)二元組)和name= value 初始化一個(gè)字典
dict(mapping,**kwarg) 使用一個(gè)字典構(gòu)建另一個(gè)字典
d={‘a(chǎn)’:1,’b’:2,’c’:3}
類方法dict.fromkeys(iteranble,value)
dict 的方法:
字典元素的訪問(wèn)
d[key] 返回key對(duì)應(yīng)的值value,key不存在拋出KeyError異常
get(key[,default]) 返回key對(duì)應(yīng)的值value,key不存在返回缺省值,如果沒有缺省值返回None
setdefault(key,[,default]) 返回key對(duì)應(yīng)的值value ,key不存在,添加kv 對(duì),value設(shè)置為默認(rèn)的給定的值,并返回默認(rèn)值,如果默認(rèn)值沒有設(shè)置,缺省為None
增加
d[key] =value 將key對(duì)應(yīng)的值修改為value ,Key不存在添加新的kv對(duì)
update([other]) 返回空,使用另一個(gè)字典的kv對(duì)更新字典,key不存在就添加key存在,覆蓋key對(duì)應(yīng)的value。直接修改原字典。
刪除
pop(key[,default]) key存在,移除它,并返回他的value,不存在,返回給定的默認(rèn)值,默認(rèn)值未設(shè)定,key不存在則拋出KeyError異常。
popitem() 移除并返回一個(gè)任意的鍵值對(duì),字典為empty,拋出KeyError異常
clear() 清除字典
del 語(yǔ)句, 刪除的是對(duì)象的引用,名稱,而不是對(duì)象本身。只是減少對(duì)象的引用計(jì)數(shù)
字典的遍歷方法有:
遍歷key 、 遍歷 value 、遍歷(key 、value) 、 遍歷item
set和dict的區(qū)別:
set 和dict的區(qū)別是,set沒有value,set和dict的原理是一樣,字典的key和set的元素都是不能放入可變的對(duì)象,可變對(duì)象是不能判斷兩個(gè)是否相等,也就無(wú)法保證元素不重復(fù)。
dict和list的比較
dct的特點(diǎn):
查找和插入數(shù)據(jù)速度極快,不會(huì)隨著數(shù)據(jù)的增加而變慢,需要占用大量的內(nèi)存,內(nèi)存浪費(fèi)比多。
list的特點(diǎn):
查找和插入的時(shí)間對(duì)著元素的增加而增加,需要占用大量的內(nèi)存,內(nèi)存浪費(fèi)比較少。
名稱欄目:Python中set和dict的總結(jié)
本文地址:http://www.chinadenli.net/article30/joigpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)公司、網(wǎng)站營(yíng)銷、移動(dòng)網(wǎng)站建設(shè)、App設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)