您好,登錄后才能下訂單哦!
Set
set的定義:
set是可變的,無序的,不重復的元素組成的可迭代的集合。
set () 定義一個空集合。
set(iterable) 定義一個set
例如:set1=set(range(100))
set 中的元素
set中的元素必須是可hash,元素可以迭代,不可以索引。
可hash的數據類型:
數值型:int 、float、complex
布爾型: True 、False
字符串: string 、 bytes
None
set的方法:
增加:
add (elem) 在集合中增加一個元素,如果元素存在,什么都都不做,時間復雜度O(1)
update(*others) 在集合中合并其它元素到set中來,參數必須是可迭代對象,直接修該set
刪除:
remove (elem) 從集合中移除一個元素,元素不存在,拋出KeyError異常。
discard(elem) 從集合中移除一個元素,元素不存在,什么也不做。
pop() 從集合中移除任意元素(由于不可索引),空集返回KeyError異常
clear() 移除所有元素
由于set是非線性數據結構,不可索引,所以set中元素無法修改,要么直接刪除,要么加入新的元素。
可以做成員運行:
in 和not in 由于使用的是hash算法,時間復雜度為O(1)
字典 dict
dict的定義:
dict是由key-value 鍵值對的組成的,可變的,無序的,key不重復的數據的集合
d = dict() 定義一個空字典
d= { } 定義一個空字典
dict(** kwargs) 使用name= value 初始化一個字典
dict(iteable , **kwargs) 使用可迭代對象(必須是一個二元組)和name= value 初始化一個字典
dict(mapping,**kwarg) 使用一個字典構建另一個字典
d={‘a’:1,’b’:2,’c’:3}
類方法dict.fromkeys(iteranble,value)
dict 的方法:
字典元素的訪問
d[key] 返回key對應的值value,key不存在拋出KeyError異常
get(key[,default]) 返回key對應的值value,key不存在返回缺省值,如果沒有缺省值返回None
setdefault(key,[,default]) 返回key對應的值value ,key不存在,添加kv 對,value設置為默認的給定的值,并返回默認值,如果默認值沒有設置,缺省為None
增加
d[key] =value 將key對應的值修改為value ,Key不存在添加新的kv對
update([other]) 返回空,使用另一個字典的kv對更新字典,key不存在就添加key存在,覆蓋key對應的value。直接修改原字典。
刪除
pop(key[,default]) key存在,移除它,并返回他的value,不存在,返回給定的默認值,默認值未設定,key不存在則拋出KeyError異常。
popitem() 移除并返回一個任意的鍵值對,字典為empty,拋出KeyError異常
clear() 清除字典
del 語句, 刪除的是對象的引用,名稱,而不是對象本身。只是減少對象的引用計數
字典的遍歷方法有:
遍歷key 、 遍歷 value 、遍歷(key 、value) 、 遍歷item
set和dict的區別:
set 和dict的區別是,set沒有value,set和dict的原理是一樣,字典的key和set的元素都是不能放入可變的對象,可變對象是不能判斷兩個是否相等,也就無法保證元素不重復。
dict和list的比較
dct的特點:
查找和插入數據速度極快,不會隨著數據的增加而變慢,需要占用大量的內存,內存浪費比多。
list的特點:
查找和插入的時間對著元素的增加而增加,需要占用大量的內存,內存浪費比較少。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。