国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

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

2020-02-22 23:38:23
字體:
來源:轉載
供稿:網友

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

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

求助于網絡,發現這個類其實是collections模塊中的一個類。看來,學習很難擺脫網絡環境啊!

這個類是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)>>> c2defaultdict(<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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 女性| 吉隆县| 吴旗县| 枞阳县| 莆田市| 黄大仙区| 黄平县| 沾化县| 年辖:市辖区| 西乡县| 宝山区| 平顺县| 孟州市| 紫金县| 绵阳市| 德格县| 和硕县| 岳普湖县| 宣化县| 奇台县| 吉隆县| 襄樊市| 武胜县| 萨嘎县| 北票市| 德安县| 宁波市| 卢龙县| 新化县| 安远县| 衡南县| 西安市| 商南县| 南华县| 贡山| 石泉县| 遂平县| 馆陶县| 胶州市| 科尔| 洪泽县|