python 中關於dict的總結

2021-07-29 07:58:05 字數 2228 閱讀 5134

python 關於dict的一些總結

總結了一些關於字典的小技巧或者注意的地方。

建立字典有以下三種方法

dict(a=

1, b=

2, c=2)

dict([(a,1

), (b,2

), (c,3

)])dict()

推薦使用第二種方法結合zip建立

key =

'abcde'

value =

range(1

, 6)

dict(zip(key, value))

d =

dict(a=

1, b=

2, c=3)

for k, v in

d.iteritems():

print

k, v

# a 1

# c 3

# b 2

當然也可以使用items來遍歷字典, 與之不同的是iteritems返回乙個迭代器。

d =

dict(a=

1, b=

2, c=3)

for k, v in

d.items():

print

k, v

# a 1

# c 3

# b 2

in [69

]: d.iteritems()

out[69

]: >

in [70

]: d.items()

out[70

]: [('a'

, 1), ('c'

, 3), ('b'

, 2)]

首先,dict[key] 與 delete dict[key]也可以獲取/刪除key。但是key不存在時,會引發keyerror異常。為了避免引發異常可以使用get和帶defaut引數的pop

合併兩個字典可以先把兩個字典分成key-value對,再連線兩個key-value對,生成新的字典。即dict(dict1.items()+dict2.items())。不過效率有些低。

使用效率更高的dict(dict1, **dict2)連線兩個字典。

in [29

]: dict1

out[29

]: in [30

]: dict2

out[30

]: in [31

]: dict(dict1, **dict2)

out[31

]:

$ python -m timeit -s 'dict1=dict2=dict(a=1,b=2)'

'dict3=dict(dict1,**dict2)'

1000000

loops, best of 3

: 0.573

usec per loop

$ python -m timeit -s 'dict1=dict2=dict(a=1,b=2)'

'dict3=dict(dict1.items()+dict2.items())'

100000

loops, best of 3

: 2.21

usec per loop

dict.copy()是乙個淺拷貝,當遇到字典或者列表時,將不能完全拷貝。使用copy模組的deepcopy()方法。

import

copy

dict1 =

dict2 = dict1

dict3 = dict1.copy()

dict4 = copy.deepcopy(dict1)

dict1['b'

] ='change'

dict1['a'

)print

dict1 #

print

dict2 #

print

dict3 #

print

dict4 #

關於python中dict的複習

d d xuguanghui 11 這是給dict新增元素 d xuguanghui 22 這就是給dict修改元素了 xuguanghui in d 檢驗元素是不是在dict中 print d.keys dict keys michel bob tracy xuguanghui 會將key以set...

Python中關於字典(dict)的基本操作

2.字典的訪問 3.字典的遍歷 4.字典方法 定義空字典 a b dict 定義普通字典 任意物件型別都可以 c dt dt輸出結果為 重複定義的第乙個鍵值對被忽略dt 列表是可變資料型別,所以報錯traceback most recent call last file line 1,in type...

Python中的字典dict

目錄字典 字典中常見的函式 字典的訪問 字典中 鍵值key 的遍歷 字典中 值value 的遍歷 字典中鍵值和資料的遍歷 字典的操作 增刪改查 字典的排序 a 字典是 python 重要的資料型別,字典是由 鍵 值 對組成的集合,字典中的 值 通過 鍵 來引用。字典也稱為關聯陣列 對映或雜湊表。py...