封裝和解構、集合、字典的簡介
阿新 • • 發佈:2018-08-19
tro 定義 per 不重復 diff 初始化 對象 for 名稱 封裝和解構
封裝
將多個值使用逗號分割,組合在一起
本質上返回一個元組,只是省略了小括號
t1 = (1,2) #定義為元組
t1 = 1,2 #將1和2封裝成元組
解構
把線性結構的元素解開,並順序的值賦給其他變量
左邊接納的變量數要和右邊解開的元素個數一致
集合set
set 翻譯為集合 collection 翻譯為集合類型,是一個大概念
set 是可變的、無序的、不重復的元素集合
set可以叠代 , 元素不可以索引
set 的元素要求必須可hash
不可hash的類型有: list、set、bytearray、dict 可hash的類型有 :int、tuple、bytes,string、none、bool、complex
set修改 ( 要麽刪除,要麽加入新的元素)
增加
add(elem) update(others)
刪除
remove(elme) discard(elem) pop() -->item clear()
集合
並集 union(others) | ; update(others) |= 交集 intersecton(others) & ; intersectionupdate(others) &= 差集 difference(others) - ; differentupdate(others) -= 對稱差集 symmetricdifferece(other) ^ ; symmetricdifferenceupdate(other) ^= issubset(other) 、<= 判斷當前集合是否是另一個集合的子集 set1 < set2 判斷set1是否是set2的真子集 issuperse(other) 、 >= 判斷當前集合是否是other的超集 set1 > set2 判斷set1是否是set2的真超集 isdisjoint(other) 當前集合和另一個集合沒有交集,如果沒有交集返回True*
字典dict
key - value 鍵值對的數據的集合
可變的 、無序的、key不重復
定義、初始化
d = {}或者 d = dict() dict(kwargs) 使用name = value 對初始化一個字典 dict(iterable,kwarg) 使用可叠代對象和name = value 對構造字典,不過可叠代對象必須是一個二元結構 d = dict(((1,‘a‘),(2,‘b‘))) 或者 d = (2,‘b‘])([1,‘a‘],[) dict(mapping,kwarg)使用一個字典構造另一個字典 d = {‘a‘:10,‘b‘:20,‘c‘:None,‘d‘:[1,2,3] 類方法 d = dict.fromkeys(iterable,value)
字典元素的訪問
d[key]
get(key[,default])
setdefault(key[,default])
字典增加和修改
d[key] = value 將key對應的值該為value,key不存在添加新的Kv對
update([other])->None 使用另一個字典的Kv對更新本字典,key不存在就添加,key存在覆蓋key對應的值,就地修改
字典刪除
pop(key[,defalut])
popitem() 移除並返回任意一個鍵值對,字典為empty,拋出KeyError異常
clear() 清空字典
del語句 實際上刪除的是名稱(一個對象的引用)而不是對象
字典遍歷
for ... in dict:
遍歷key
遍歷value
遍歷item,即kv對
封裝和解構、集合、字典的簡介