欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中defaultdict與lambda表達式用法實例小結

 更新時間:2018年04月09日 10:25:20   作者:grey_csdn  
這篇文章主要介紹了Python中defaultdict與lambda表達式用法,結合實例形式分析了Python中defaultdict與lambda表達式的功能、使用方法及相關注意事項,需要的朋友可以參考下

本文實例講述了Python中defaultdict與lambda表達式用法。分享給大家供大家參考,具體如下:

從教程中看到defaultdict是一個類,在一臺裝有Python2.7.6的電腦上使用發(fā)現不存在。在文檔中搜索了一下也沒有找到,想當然以為這或許是Python 3.X專有的。因為教程就是基于Python 3.X實現的。后來換了一臺裝有Python 3.X的電腦依然出問題。

求助于網絡,發(fā)現這個類其實是collections模塊中的一個類??磥恚瑢W習很難擺脫網絡環(huán)境??!

這個類是dict的一個子類,重寫了一個方法并增加了一個事件變量。在實例化的時候,第一個參數提供給default_factory的初始化函數。這個參數可以是一個類型或者函數,至于是類型這不難理解,其實類型基本上都是工廠函數。但是,有時候我們想用此方法傳入一個常量,這個時候就需要自己單獨設計一個常量函數或者直接使用lambda表達式。

先看如下的示范:

>>> fromcollections import defaultdict
>>> c1 =defaultdict(int)
>>>c1.get(123)
>>>c1.get('abc')
>>> defConst():
return 23
>>> c2 =defaultdict(Const)
>>>c2.get(123)
>>> c2
defaultdict(<functionConst at 0x000001D7E26F58C8>, {})
>>>c2[123]
23
>>>c2['abc']
23
>>>c1[123]
0

從上面可以看出,這種方式可以為一個字典對象不存在的key自動給出一個默認的value。用上面的這種方式自然是可以實現value為某個常量,但是使用lambda可以使得代碼更為簡潔:

>>> c3 =defaultdict(lambda :123)
>>>c3[12]
123

在最近遇到的使用場景中,這種方法能夠讓代碼變得簡潔不少,而習慣后的代碼可讀性也沒有任何影響。

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python列表(list)操作技巧總結》、《Python數組操作技巧總結》、《Python字符串操作技巧匯總》、《Python函數使用技巧總結》、《Python入門與進階經典教程》及《Python數據結構與算法教程

希望本文所述對大家Python程序設計有所幫助。

相關文章

  • Python實現處理管道的方法

    Python實現處理管道的方法

    這篇文章主要介紹了Python實現處理管道的方法,實例分析了Python實現管道調用子程序的技巧,需要的朋友可以參考下
    2015-06-06
  • Python selenium的安裝和下載谷歌瀏覽器鏡像驅動

    Python selenium的安裝和下載谷歌瀏覽器鏡像驅動

    Selenium是一個用于web自動化測試的框架,在使用Ajax請求數據的頁面中,會出現 sign ,token等密鑰,借助使用Selenium框架來實現數據爬取很不錯,本文給大家介紹Python selenium的安裝和下載谷歌瀏覽器鏡像驅動,需要的朋友可以參考下
    2022-11-11
  • Python秒算24點實現及原理詳解

    Python秒算24點實現及原理詳解

    這篇文章主要介紹了Python秒算24點,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • 基于Python打造賬號共享瀏覽器功能

    基于Python打造賬號共享瀏覽器功能

    這篇文章主要介紹了基于Python打造賬號共享瀏覽器功能,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-05-05
  • pygame面向對象的飛行小鳥實現(Flappy bird)

    pygame面向對象的飛行小鳥實現(Flappy bird)

    這篇文章主要介紹了pygame面向對象的飛行小鳥實現(Flappy bird),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • Scrapy模擬登錄趕集網的實現代碼

    Scrapy模擬登錄趕集網的實現代碼

    這篇文章主要介紹了Scrapy模擬登錄趕集網的實現代碼,本文通過代碼圖文相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • python源碼剖析之PyObject詳解

    python源碼剖析之PyObject詳解

    Python實現了完全的面向對象的語言特性,所有的類均繼承自object基類,對應著實現層面的PyObject.為了實現多態(tài)的特性,Python的實現過程維護了一個類型對象系統(tǒng),用來記錄類型信息和維護類的函數成員,本文為大家詳細介紹了PyObject,需要的朋友可以參考下
    2021-05-05
  • python執(zhí)行shell腳本的四種方法

    python執(zhí)行shell腳本的四種方法

    在Python中提供了很多的方法可以調用并執(zhí)行shell腳本,本文主要介紹了python執(zhí)行shell腳本的四種方法,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • 實例詳解Python中的numpy.abs和abs函數

    實例詳解Python中的numpy.abs和abs函數

    Numpy是python中最有用的工具之一,它可以有效地處理大容量數據,下面這篇文章主要給大家介紹了關于Python中numpy.abs和abs函數的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • python自動化測試之DDT數據驅動的實現代碼

    python自動化測試之DDT數據驅動的實現代碼

    這篇文章主要介紹了python自動化測試之DDT數據驅動的實現代碼,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07

最新評論