1. 程式人生 > >python之路---05

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())      把集合變成 不可變 的