python之路---05 字典 集合
二十、字典
可變數據類型
{key:value}形式 查找效率高 key值必須是不可變的數據類型
1.增刪改查
1).增
dic["新key"] = "新value" 追加新元素
dic.setdefault(新key,新value) 如果key存在 不添加
如果key不存在, 添加{新key:新value}
2).刪
.pop("key") 關鍵字刪除
.popitem() 刪除最後一項(早期時字典是無序的,就是隨機刪除一項)
del dic["key"] 索引和切片刪除
dic.clear() 清空
3).改
dic.["老key"] = "新value"
dic.update(dic1) 更新 把dic1中的內容更新到dic中
4).查
① dic[key] 關鍵字查找 沒有時報錯
② .get(key) 沒有時返回 None
.get("key",沒有這個) 沒有時返回“沒有這個”
③ .setdefault(key,value)
key存在時, 把 老value 查出來
key不存在時,添加 新的key和value, 並查出來
5).其他操作
.key() 獲取所有的key值
.value() 獲取所有的value值
.items() 獲取所有的 鍵值對
2.dic的遍歷 for循環
遍歷字典兩套方案
dic = {"趙四":"劉曉光", "劉能":"王曉利", "王木生":"範偉"}
①. 使用for循環直接遍歷字典的key
for key in dic:
print(key)
print(dic[key])
②. 可以使用字典的items()+解構可以直接獲取到key和value(解包)
for k, v in dic.items():
print(k)
print(v)
二十一、集合 set() { } 表示
本事是無序的、不重復的、可變的、 不可哈希的 。
1.內部元素是不可變的 ,因此不可嵌套 。 是一種只含key的字典。
2. ① 沒有索引和切片
②增
.add("x")
.update({"xx"}) 添加元素 "xx"
.update("xx") 添加兩個元素 "x"
③刪
.pop() 隨機刪除一個
.remove("x") 指定刪除
④改 先刪後加
⑤查 for循環
⑥交集 s1 & s2
s1.intersection(s2)
⑦差集 s1 - s2
s1.differrence(s2)
⑧並集 s1 | s2
s1.union(s2)
⑨反交集 s1 ^ s2
s1.symmetric_difference(s2)
⑩ s = frozenset(set()) 把集合變成 不可變 的
python之路---05 字典 集合