Python字典是另一種可變?nèi)萜髂P,且可存?chǔ)任意類型對(duì)象,如字符串、數(shù)字、元組等其他容器模型,
Python 字典(Dictionary)操作詳解
。一、創(chuàng)建字典
字典由鍵和對(duì)應(yīng)值成對(duì)組成。字典也被稱作關(guān)聯(lián)數(shù)組或哈希表。基本語(yǔ)法如下:
復(fù)制代碼代碼如下:
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
也可如此創(chuàng)建字典:
復(fù)制代碼代碼如下:
dict1 = { 'abc': 456 };
dict2 = { 'abc': 123, 98.6: 37 };
注意:
每個(gè)鍵與值用冒號(hào)隔開(kāi)(:),每對(duì)用逗號(hào),每對(duì)用逗號(hào)分割,整體放在花括號(hào)中({})。
鍵必須獨(dú)一無(wú)二,但值則不必。
值可以取任何數(shù)據(jù)類型,但必須是不可變的,如字符串,數(shù)或元組。
二、訪問(wèn)字典里的值
把相應(yīng)的鍵放入熟悉的方括弧,如下實(shí)例:
復(fù)制代碼代碼如下:
#!/usr/bin/python
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
print "dict['Name']: ", dict['Name'];
print "dict['Age']: ", dict['Age'];
#以上實(shí)例輸出結(jié)果:
#dict['Name']: Zara
#dict['Age']: 7
如果用字典里沒(méi)有的鍵訪問(wèn)數(shù)據(jù),會(huì)輸出錯(cuò)誤如下:
復(fù)制代碼代碼如下:
#!/usr/bin/python
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
print "dict['Alice']: ", dict['Alice'];
#以上實(shí)例輸出結(jié)果:
#dict['Zara']:
#Traceback (most recent call last):
# File "test.py", line 4, in
# print "dict['Alice']: ", dict['Alice'];
#KeyError: 'Alice'[/code]
三、修改字典
向字典添加新內(nèi)容的方法是增加新的鍵/值對(duì),修改或刪除已有鍵/值對(duì)如下實(shí)例:
復(fù)制代碼代碼如下:
#!/usr/bin/python
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
dict['Age'] = 8; # update existing entry
dict['School'] = "DPS School"; # Add new entry
print "dict['Age']: ", dict['Age'];
print "dict['School']: ", dict['School'];
#以上實(shí)例輸出結(jié)果:
#dict['Age']: 8
#dict['School']: DPS School
四、刪除字典元素
能刪單一的元素也能清空字典,清空只需一項(xiàng)操作。
顯示刪除一個(gè)字典用del命令,如下實(shí)例:
復(fù)制代碼代碼如下:
#!/usr/bin/python
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
del dict['Name']; # 刪除鍵是'Name'的條目
dict.clear(); # 清空詞典所有條目
del dict ; # 刪除詞典
print "dict['Age']: ", dict['Age'];
print "dict['School']: ", dict['School'];
#但這會(huì)引發(fā)一個(gè)異常,因?yàn)橛胐el后字典不再存在:
dict['Age']:
#Traceback (most recent call last):
# File "test.py", line 8, in
# print "dict['Age']: ", dict['Age'];
#TypeError: 'type' object is unsubscriptable
五、字典鍵的特性
字典值可以沒(méi)有限制地取任何python對(duì)象,既可以是標(biāo)準(zhǔn)的對(duì)象,也可以是用戶定義的,但鍵不行。
兩個(gè)重要的點(diǎn)需要記。
1)不允許同一個(gè)鍵出現(xiàn)兩次。創(chuàng)建時(shí)如果同一個(gè)鍵被賦值兩次,后一個(gè)值會(huì)被記住,如下實(shí)例:
復(fù)制代碼代碼如下:
#!/usr/bin/python
dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'};
print "dict['Name']: ", dict['Name'];
#以上實(shí)例輸出結(jié)果:
#dict['Name']: Manni
2)鍵必須不可變,所以可以用數(shù),字符串或元組充當(dāng),所以用列表就不行,如下實(shí)例:
復(fù)制代碼代碼如下:
#!/usr/bin/python
dict = {['Name']: 'Zara', 'Age': 7};
print "dict['Name']: ", dict['Name'];
#以上實(shí)例輸出結(jié)果:
#Traceback (most recent call last):
# File "test.py", line 3, in
# dict = {['Name']: 'Zara', 'Age': 7};
#TypeError: list objects are unhashable
六、字典內(nèi)置函數(shù)&方法
Python字典包含了以下內(nèi)置函數(shù):
1、cmp(dict1, dict2):比較兩個(gè)字典元素,
電腦資料
《Python 字典(Dictionary)操作詳解》(http://www.dameics.com)。2、len(dict):計(jì)算字典元素個(gè)數(shù),即鍵的總數(shù)。
3、str(dict):輸出字典可打印的字符串表示。
4、type(variable):返回輸入的變量類型,如果變量是字典就返回字典類型。
Python字典包含了以下內(nèi)置方法:
1、radiansdict.clear():刪除字典內(nèi)所有元素
2、radiansdict.copy():返回一個(gè)字典的淺復(fù)制
3、radiansdict.fromkeys():創(chuàng)建一個(gè)新字典,以序列seq中元素做字典的鍵,val為字典所有鍵對(duì)應(yīng)的初始值
4、radiansdict.get(key, default=None):返回指定鍵的值,如果值不在字典中返回default值
5、radiansdict.has_key(key):如果鍵在字典dict里返回true,否則返回false
6、radiansdict.items():以列表返回可遍歷的(鍵, 值) 元組數(shù)組
7、radiansdict.keys():以列表返回一個(gè)字典所有的鍵
8、radiansdict.setdefault(key, default=None):和get()類似, 但如果鍵不已經(jīng)存在于字典中,將會(huì)添加鍵并將值設(shè)為default
9、radiansdict.update(dict2):把字典dict2的鍵/值對(duì)更新到dict里
10、radiansdict.values():以列表返回字典中的所有值
您可能感興趣的文章:
python兩種遍歷字典(dict)的方法比較
python實(shí)現(xiàn)dict版圖遍歷示例
Python中字典(dict)和列表(list)的排序方法實(shí)例
python list轉(zhuǎn)dict示例分享
python 將字符串轉(zhuǎn)換成字典dict
python dict remove數(shù)組刪除(del,pop)
python 字典(dict)遍歷的四種方法性能測(cè)試報(bào)告
QQ空間 搜狐微博 人人網(wǎng) 開(kāi)心網(wǎng) 百度搜藏更多
Tags:python python字典 python字典操作
復(fù)制鏈接收藏本文打印本文關(guān)閉本文返回首頁(yè)
上一篇:Python 元組(Tuple)操作詳解
下一篇:windows下wxPython開(kāi)發(fā)環(huán)境安裝與配置方法
相關(guān)文章
2009-11-11Python 開(kāi)發(fā)Activex組件方法
2013-11-11python迭代器的使用方法實(shí)例
2014-05-05從零學(xué)python系列之教你如何根據(jù)圖片生成字符畫
2014-01-01python發(fā)送arp欺騙攻擊代碼分析
2014-04-04python自動(dòng)安裝pip
2013-09-09Python 命令行非阻塞輸入的小例子
2013-11-11Python列表推導(dǎo)式的使用方法
2008-09-09Python open讀寫文件實(shí)現(xiàn)腳本
2014-06-06Python查看多臺(tái)服務(wù)器進(jìn)程的腳本分享
2011-03-03python 中文亂碼問(wèn)題深入分析
文章評(píng)論
最 近 更 新
使用PYTHON創(chuàng)建XML文檔
python二叉樹(shù)遍歷的實(shí)現(xiàn)方法
Python列表推導(dǎo)式的使用方法
測(cè)試、預(yù)發(fā)布后用python檢測(cè)網(wǎng)頁(yè)是否有日
Eclipse + Python 的安裝與配置流程
Python 面向?qū)ο?成員的訪問(wèn)約束
python中使用OpenCV進(jìn)行人臉檢測(cè)的例子
Python 網(wǎng)絡(luò)編程起步(Socket發(fā)送消息)
python類型強(qiáng)制轉(zhuǎn)換long to int的代碼
python創(chuàng)建線程示例
熱 點(diǎn) 排 行
Python入門教程 超詳細(xì)1小時(shí)學(xué)會(huì)
python 中文亂碼問(wèn)題深入分析
比較詳細(xì)Python正則表達(dá)式操作指
Python字符串的encode與decode研
Python open讀寫文件實(shí)現(xiàn)腳本
Python enumerate遍歷數(shù)組示例應(yīng)
Python 深入理解yield
Python+Django在windows下的開(kāi)發(fā)
python 文件和路徑操作函數(shù)小結(jié)
python 字符串split的用法分享