1、什麼是字典?
字典是python語言中唯一的對映型別。
對映型別物件裡雜湊值(鍵,key)和指向的物件(值,value)是一對多的的關係,通常被認為是可變的雜湊表。
字典物件是可變的,它是乙個容器型別,能儲存任意個數的python物件,其中也可包括其他容器型別。
字典型別與序列型別的區別:
1.訪問和訪問資料的方式不同。
2.序列型別只用數字型別的鍵(從序列的開始按數值順序索引);
3.對映型別可以用其他物件型別作鍵(如:數字、字串、元祖,一般用字串作鍵),和序列型別的鍵不同,對映型別的鍵直
4.接或間接地和儲存資料值相關聯。
5.對映型別中的資料是無序排列的。這和序列型別是不一樣的,序列型別是以數值序排列的。
6.對映型別用鍵直接「對映」到值。
字典是python中最強大的資料型別之一。
2、如何建立字典和給字典賦值
一般形式:
dict = {}
dict =
關鍵字引數建立字典,如:adict= dict(name='allen',age='40′)
或用fromkeys()方法,如,adict = {}.fromkeys((『x','y'), -1) 這樣建立的字典的value是一樣的,若不給值,預設為none。
從python 2.2 版本起
>>> fdict = dict((['x', 1], ['y', 2]))
>>> fdict
從python 2.3 版本起, 可以用乙個很方便的內建方法fromkeys() 來建立乙個"預設"字典, 字
典中元素具有相同的值 (如果沒有給出, 預設為none):
>>> ddict = {}.fromkeys(('x', 'y'), -1)
>>> ddict
>>>
>>> edict = {}.fromkeys(('foo', 'bar'))
>>> edict
[python]view plain
copy
print?
#!/usr/bin/python
seq = ('name'
, 'age'
, '***'
) dict = dict.fromkeys(seq)
"new dictionary : %s"
% str(dict)
dict = dict.fromkeys(seq, 10
"new dictionary : %s"
% str(dict)
結果:[python]view plain
copy
print?
new dictionary :
new dictionary :
特點:1、鍵與值用冒號「:」分開;
2、項與項用逗號「,」分開;
3、字典中的鍵必須是唯一的,而值可以不唯一。
dict =
技巧:
字典中包含列表:dict=
字典中包含字典:dict=,"xiaohei":}
>>> nameinfo={}
>>> nameinfo['a1']='yangrong' #若字典裡有a1主鍵,則覆蓋原來的值,沒有,則新增
>>> nameinfo
>>> for k, value innameinfo.items():
... print k,value
...a1 yangrong
>>> dict =
>>>
>>>
>>> dict.keys()
['ob2', 'ob3', 'ob1']
>>> dict.keys()
['ob2', 'ob3', 'ob1']
>>> dict.has_key('ob2') #或'ob2' in dict
true
>>> dict.has_key('ob4')
false
也可以用迴圈方法來判斷
for key in dict.keys():
但是不夠簡潔,
>>> dict =
>>> dict.values()
['mouse', 'printer', 'computer']
索引乙個字典
dict['ob1'] # computer
d['a'] # raises exception
>>> dict.items()
[('ob2', 'mouse'), ('ob3', 'printer'),('ob1', 'computer')]
>>> dict.clear()
>>> dict
{}>>> dict
>>> a=dict
>>> a
>>> b=dict.copy()
>>> b
>>> cmp(a,b)
首先比較主鍵長度,然後比較鍵大小,然後比較鍵值大小,(第乙個大返回1,小返回-1,一樣返回0)
>>>dict=,"xiaohei":}
>>> dict
}>>> dict['xiaohei']=111 #修改一級字典
>>> dict
}>>> dict['yangrong']['age']=25 #修改二級字典
>>> dict
}>>> dict=
>>>dict['xiaohei'][1]="dota2" #修改字典中列表某項,1是代表列表中第2個字串。
>>> dict
>>> dict
>>> del dict['xiaohei'] #刪除xiaohei鍵值
>>> dict
>>> dict
>>>
>>> del dict['yangrong'][1] #刪除yangrong主鍵的每2字值
>>> dict
>>> dict
>>> dict.clear() #同del dict
>>> dict
{}>>> s="hello world bye"
>>> s.split() #用於把有規律的文字,讀取出來後,使用列表進行修改,再寫入檔案。
['hello', 'world', 'bye']
將列表轉換為字串
s.split(str, ' ') #
將string
轉list
,以空格切分
#需匯入pickle模組 import pickle
把字典內容存入檔案
f=file('data.txt','wb') #新建檔案data.txt,'wb',b是開啟塊檔案,對於裝置檔案有用
pickle.dump(a,f) #把a序列化存入檔案
f.close()
把內容讀入字典(反序列化)
a=open('data.txt','rb') #開啟檔案
print pickle.load(a) #把內容全部反序列化
python操作字典 Python 字典操作高階
學習了 python 基本的字典操作後,學習這些高階操作,讓寫出的 更加優雅簡潔和 pythonic 與字典值有關的計算 問題想對字典的值進行相關計算,例如找出字典裡對應值最大 最小 的項。解決方案一 假設要從字典 中找出值最小的項,可以這樣做 d min zip d.values d.keys 2...
python 字典操作
python 語法之字典 2009 10 21 磁針石 xurongzhong gmail.com 部落格 oychw.cublog.cn python essential reference 4th edition 2009 beginning python from novice to prof...
python 字典操作
1 什麼是字典?字典是python語言中唯一的對映型別。對映型別物件裡雜湊值 鍵,key 和指向的物件 值,value 是一對多的的關係,通常被認為是可變的雜湊表。字典物件是可變的,它是乙個容器型別,能儲存任意個數的python物件,其中也可包括其他容器型別。字典型別與序列型別的區別 1.訪問和訪問...