python 字典操作

2021-07-04 02:24:52 字數 3910 閱讀 9360

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 

#!/usr/bin/python

seq = ('name', 'age', '***')

dict = dict.fromkeys(seq)

print "new dictionary : %s" % str(dict)

dict = dict.fromkeys(seq, 10)

print "new dictionary : %s" % str(dict)

結果:

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.訪問和訪問...