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...