1. 程式人生 > >python之路---05 字典 集合

python之路---05 字典 集合

rem date 解包 inter none ren 查找 key存在 move

二十、字典

可變數據類型

{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 字典 集合