python學習筆記 字典

2021-06-25 20:57:31 字數 3370 閱讀 9539

方法一:

>>> dict1 = {}

>>> dict2 =

>>> dict1, dict2

({}, )

方法二:從python 2.2 版本起,可以使用乙個工廠方法,傳入乙個元素是列表的元組作為引數

>>> fdict = dict((['x', 1], ['y', 2]))

>>> fdict

方法三:

從python 2.3 版本起, 可以用乙個很方便的內建方法fromkeys() 來建立乙個"預設"字典, 字典中元素具有相同的值 (如果沒有給出, 預設為none,這個有點像我框架的oneobject方法):

>>> ddict = {}.fromkeys(('x', 'y'), -1) 

>>> ddict

>>>

>>> edict = {}.fromkeys(('foo', 'bar'))

>>> edict

想遍歷乙個字典(一般用鍵), 你只需要迴圈檢視它的鍵, 像這樣:

>>> dict2 = 

>>>

>>>> for key in dict2.keys():

... print 'key=%s, value=%s' % (key, dict2[key])

...key=name, value=earth

key=port, value=80

從python 2.2 開始,可以直接在 for 迴圈裡遍歷字典。

>>> dict2 = 

>>>

>>>> for key in dict2:

... print 'key=%s, value=%s' % (key, dict2[key])

...key=name, value=earth

key=port, value=80

想判定其是否存在某個鍵值對,可以使用has_key()或 in 、 not in 操作符

>>> 'server' in dict2 # 或 dict2.has_key('server')

false

>>> 'name' in dict # 或 dict2.has_key('name')

true

>>> dict2['name']

'earth'

乙個字典中混用數字和字串的例子:

>>> dict3 = {}

>>> dict3[1] = 'abc'

>>> dict3['1'] = 3.14159

>>> dict3[3.2] = 'xyz'

>>> dict3

採取覆蓋更新

上例中 dict2['name']='earth';

更新 dict2['name']='abc';

del dict2['name'] # 刪除鍵為「name」的條目

dict2.clear() # 刪除dict2 中所有的條目

del dict2 # 刪除整個dict2 字典

dict2.pop('name') # 刪除並返回鍵為「name」的條目

dict2 = 

>>> dict2.keys()

['port', 'name']

>>>

>>> dict2.values()

[80, 'earth']

>>>

>>> dict2.items()

[('port', 80), ('name', 'earth')]

>>>

>>> for eachkey in dict2.keys():

... print 'dict2 key', eachkey, 'has value', dict2[eachkey]

...dict2 key port has value 80

dict2 key name has value earth

update()方法可以用來將乙個字典的內容新增到另外乙個字典中

dict3 = 

>>> dict3.clear()

>>> dict3

{}

對映型別相關的函式

>>> dict(x=1, y=2)

>>> dict8 = dict(x=1, y=2)

>>> dict8

>>> dict9 = dict(**dict8)

>>> dict9

dict9 = dict8.copy()

方法名字

操作dict.clear()

刪除字典中所有元素

dict.copy()

返回字典(淺複製)的乙個副本

dict.fromkeysc(seq,val=none)

建立並返回乙個新字典,以seq 中的元素做該字典的鍵,val 做該字典中所有鍵對應的初始值(如果不提供此值,則預設為none)

dict.get(key,default=none)

對字典dict 中的鍵key,返回它對應的值value,如果字典中不存在此鍵,則返回default 的值(注意,引數default 的預設值為none)

dict.has_key(key)

如果鍵(key)在字典中存在,返回true,否則返回false. 在python2.2版本引入in 和not in 後,此方法幾乎已廢棄不用了,但仍提供乙個 可工作的介面。

dict.items()

返回乙個包含字典中(鍵, 值)對元組的列表

dict.keys()

返回乙個包含字典中鍵的列表

dict.values()

返回乙個包含字典中所有值的列表

dict.iter()

方法iteritems(), iterkeys(), itervalues()與它們對應的非迭代方法一樣,不同的是它們返回乙個迭代子,而不是乙個列表。

dict.pop(key[, default])

和方法get()相似,如果字典中key 鍵存在,刪除並返回dict[key],如果key 鍵不存在,且沒有給出default 的值,引發keyerror 異常。

dict.setdefault(key,default=none)

和方法set()相似,如果字典中不存在key 鍵,由dict[key]=default 為它賦值。

dict.setdefault(key,default=none)

和方法set()相似,如果字典中不存在key 鍵,由dict[key]=default 為它賦值。

Python學習筆記 字典

1 字典的定義 dictionary 字典 是除列表以外python之中最靈活的資料型別 字典同樣可以用來儲存多個資料 通常用於儲存描述乙個物體的相關資訊 和列表的區別 列表是有序的物件集合 索引,即從0開始,依次遞增 字典是無序的物件集合 字典的定義用 字典使用 鍵值對 儲存資料,鍵值對之間使用逗...

python學習筆記 字典

python學習筆記 字典 方法一 dict1 dict2 dict1,dict2 方法二 從python 2.2 版本起,可以使用乙個工廠方法,傳入乙個元素是列表的元組作為引數 fdict dict x 1 y 2 fdict 方法三 從python 2.3 版本起,可以用乙個很方便的內建方法fr...

python學習筆記 字典

alien 0 print alien 0 print alien 0 color print alien 0 points 新增鍵 值對 print 新增鍵 值對 alien 0 x position 0 alien 0 y position 25 print alien 0 建立空字典 方便新增...