<wbr id="wsjqy"></wbr>

          <form id="wsjqy"></form>
          <sub id="wsjqy"></sub>
          <nav id="wsjqy"><listing id="wsjqy"></listing></nav>
          更多課程 選擇中心


          Python培訓

          400-111-8989

          這六個Python字典操作你知道嗎?

          • 發布:劉志軍
          • 來源:Python之禪
          • 時間:2019-04-18 14:45

          想要學習Python編程的、正在學習Python編程的、正在使用Python編程的,本文介紹你必須知道的六個Python字典操作,這里看:

          key是否存在

          使用 in 關鍵字判斷key是否存在字典中

          d = {"name": "zhang", "age":10}
          key = "gender"
          if key in d:
          pass

          不要使用 key in d.keys(), 這是一種畫蛇添足的操作,因為d.keys()會返回一個新的列表對象,導致內存最大。

          合并字典

          >>> x = {'a': 1, 'b': 2}
          >>> y = {'b': 3, 'c': 4}
          >>> {**x, **y}
          {'a': 1, 'b': 3, 'c': 4}

          返回新的字典對象,x和y都不會改變,這是使用了PEP448范化解包操作, 如果 x 和 y 有相同的key, 那么y會覆蓋x。如果使用字典的update方法,將修改原來的對象,例如:

          >>> y.update(x)
          >>> y
          {'b': 2, 'c': 4, 'a': 1}

          迭代字典

          z = {'b': 2, 'c': 4, 'a': 1}
          >>> for key, value in z.items():
          print(key, value)
          b 2
          c 4
          a 1

          也可以直接對字典z進行迭代,每次迭代返回的是key,前面那種操作 z.items()會返回一個新的對象。

          >>> for key in z:
              print(key, z[key])
          b 2
          c 4
          a 1

          字典推導

          使用字典推導式快速構建字典對象

          >>> fruits = ['apple', 'mango', 'banana','cherry']
          >>> {f:len(f) for f in fruits}
          {'apple': 5, 'mango': 5, 'banana': 6, 'cherry': 6}

          字典排序

          字典本質上是個無序的容器對象(其實Python3.6開始支持有序,不過這個有序是指按照key的添加順序),如果我們要對字典的 key 或者 value 排序,一般是將其轉換為list,再按照key或者value排序。

          >>> d = {"c": 3, "a": 1, "f":6, "b": 0}
          # 按照value排序
          >>> sorted(d.items(), key=operator.itemgetter(1))
          [('b', 0), ('a', 1), ('c', 3), ('f', 6)]
          # 按照key排序
          >>> sorted(d.items(), key=operator.itemgetter(0))
          [('a', 1), ('b', 0), ('c', 3), ('f', 6)]
          >>>

          默認值初始化字典

          統計列表中每個字母出現的次數

          >>> chars = ['a', 'b','c','a','d','c']
          >>> data = {}
          >>> for c in chars:
          ...     if c in data:
          ...         data[c]+=1
          ...     else:
          ...         data[c] = 0
          ...
          >>> data
          {'a': 1, 'b': 0, 'c': 1, 'd': 0}

          可以使用 collections.defaultdict 通過工廠函數提供初始化默認值

          chars = ['a', 'b','c','a','d','c']
          
          dd = defaultdict(int)
          for c in chars:
          dd[c] += 1
          
          >>>defaultdict(<class 'int'>, {'a': 2, 'b': 1, 'c': 2, 'd': 1})

          defaultdict 是 dict 的子類,繼承了 dict 的所有特性, 如果想要初始值為1 怎么辦?可以用lambda函數來指定

          dd = defaultdict(lambda: 1)
          for c in chars:
          dd[c] += 1
          
          print(dd)
          >>> defaultdict(<function <lambda> at 0x01226B28>, {'a': 3, 'b': 2, 'c': 3, 'd': 2})

          感謝您的閱讀,以上就是給您介紹的六個必須知道的Python字典操作,你學會了嗎?更多Python相關的內容盡在達內Python培訓機構官網,敬請關注!

          免責聲明:內容和圖片源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

          預約申請免費試聽課

          填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

          上一篇:Python中,如何將字符串常量轉為變量?
          下一篇:聽說這些Python知識,很少有人知道!

          如何運用Python編程處理大數據?用Python編程處理大數據的技巧是什么?

          Python面向對象編程的知識點都在這了!

          Python的高級特征及用法(部分)

          聽說這些Python知識,很少有人知道!

          • 掃碼領取資料

            回復關鍵字:視頻資料

            免費領取 達內課程視頻學習資料

          • 視頻學習QQ群

            添加QQ群:1143617948

            免費領取達內課程視頻學習資料

          Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

          選擇城市和中心
          黑龍江省

          吉林省

          河北省

          湖南省

          貴州省

          云南省

          廣西省

          海南省

          网友自拍 偷拍 校园性爱青青草曰逼视屏老鸭窝国产偷自视频区视频 百度 好搜 搜狗
          <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>