字典是key-value結構
1、定義
d = {}
d = dict()
d = {'a':1,'b':2}
d = dict((['a',1],['b',2])) #可迭代對象的元素必須是二元組,二元組第0個元素爲key,第1個元素爲vlaue
d = dict.fromkeys(range(5)) #傳人可迭代對象的key,值爲none
d = dict.fromkeys(range(5),'abc') #傳人可迭代對象的key,值爲abc
2、增加
d['a'] = 1 #可以直接使用key作爲下標,不存在會增加。
d.update([('c',3),('d',0)])
d.update(字典) #通常用於合併字典
3、修改
d['key'] = value #當key存在則修改
4、刪除
d.pop(key[,'default']) #刪除並返回該key的value,不存在key error.當有默認值時,key不存在時返回默認值
d.popitem() #隨機刪除並返回一個二元組,空字典key error
d.clear() #清空字典
5、訪問
d[key] #通過key訪問value,不存在key error
d.get(key[,'default']) #不存在返回none,有默認值時返回默認值
d.setdefault(key[,'default']) #key存在返回value,不存在添加該 key,value默認值。
d.keys() #返回字典的key
d.values() #返回字典的value
d.items() #返回字典的key和vaue
d.keys() d.values() d.items() 在p2中都是返回列表,會複製一份內存,p3中是生成器,不會複製內存在p2中可以用d.iteritems()
6、字典限制
字典的key不能重複,且可hash,無序
7、默認字典
from collections import defaultdict
d1 = defaultdict(list) #default初始化時,需要傳入一個函數,這個函數也叫工廠函數,當我們通過下標訪問這個key不存在時,defaultdict會調用函數生成一個對象作爲這個key的value。
8、有序字典
d = OrderedDict() #按插入順序
python學習6-內置數據結構4-字典
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
Python3高级核心技术97讲
wy53780
2020-04-23 15:37:39
python網絡爬蟲
aabcdqt
2019-05-06 20:35:05
Python與家國天下
豌豆花下貓
2019-02-24 22:22:40
seaborn 安裝成功 + ImportError: DLL load failed: 找不到指定的模塊 問題解決
耗子
2019-02-24 19:55:04
使用 Sphinx 撰寫技術文檔並生成 PDF 總結
qiwihui
2019-02-24 16:25:14
Python實現二叉樹相關算法
backbp
2019-02-24 15:35:06
Ubuntu16.04安裝Python3.7及其pip3並切換爲默認版本
ipromise
2019-02-24 14:15:00
Python2+Selenium入門05-關於WebElement類
白雪
2019-02-24 13:45:04
Python——數據類型
陳晨工程師
2019-02-24 13:43:55
Python 操作PDF庫介紹之PDFMiner
iCloudEnd
2019-02-24 13:39:59
Python reportlab 之 draw函數介紹
iCloudEnd
2019-02-24 13:39:59
我多希望是擬錄取的那一個。
瀟湘慕御
2019-02-24 13:49:58
每一個夢裏,你看到的你不認識的你自己。
瀟湘慕御
2019-02-24 13:49:58
24小時熱門文章
-
再談23種設計模式(3):行爲型模式(學習筆記)
-
Power Automate Desktop 安裝完,登錄後老是提示one driver 錯誤
-
微前端學習筆記(4):從微前端到微模塊之EMP與hel-micro方案探索
-
微前端學習筆記(1):微前端總體架構概述,從微服務發微
-
985 碩士程序員,空窗 4 個月沒有 Offer!
-
一文搞懂 Spring 循環依賴
-
賽博鬥地主——使用大語言模型扮演Agent智能體玩牌類遊戲。
-
VScode右鍵打開(添加到右鍵)
-
記一次 .NET某工控視覺自動化系統 卡死分析
-
WindowsServer--SQL Server搭建主從同步實現讀寫分離 - 事務性分發