1.什麼是字典
字典是具有對映關係的乙個集合,有自己的標誌性符號,用{}來定義。字典由多個鍵以及其對應的鍵值共同構成的,字典是無序的,只講究對應關係,並且字典中的鍵是獨一無二的
1.建立乙個字典
直接用{}來建立
empty =
empty
{}
type
(empty)
dict
下面這種方式,鍵必須加引號,且鍵與值之間用 : (冒號)連線起來
dict1 =
dict1
使用dict()函式來建立
#
dict1 =
dict((
('a',1
),('b',2
),('c',3
)))dict1
也可以這樣來寫,與值之間用 = (等號)連線起來的話,鍵的位置不能加上字串的引號,否則會報錯
dict1 =
dict
(a =
1, b =
2, c =3)
dict1
dict1 =
dict
(zip([
'a',
'b',
'c'],[
1,2,
3]))
dict1
2.修改鍵的值
dict1[
'a']=2
dict1[
'b']=1
dict1
3.字典的內建函式
1.fromkeys()函式
用於建立並返回乙個新的字典,它有倆個引數:第乙個引數是字典的鍵;第二個引數是傳入鍵的值,如果不寫,預設為none
dict1 =
dict1.fromkeys((1
,2,3
))
dict2 =
dict2.fromkeys((1
,2,3
),"number"
)
dict3 =
dict3.fromkeys((1
,2,3
),("noe"
,"two"
,"three"
))
2.訪問字典的方法:keys()、value()和items()
keys()用於返回字典中的鍵,values()用於返回字典中所有的值,items()返回字典中所有的鍵值對
dict1 =
dict1.keys(
)
dict_keys(['a', 'b', 'c'])
dict1.values(
)
dict_values([1, 2, 3])
dict1.items(
)
dict_items([('a', 1), ('b', 2), ('c', 3)])
3.get()函式
當鍵不存在時,get()方法並不會報錯,只是默默的返回乙個none,表示啥也沒找到.
dict1 =
dict1.get(
'd')
如果希望找不到資料時,返回指定的值,可以在get()的第二個引數中設定對應的預設返回值
dict1.get(
"孫悟空"
,"木有^_^"
)
'木有^_^'
也可以通過in 和 not in 來判斷乙個鍵是否在字典中
30
in dict1
false
'a'
in dict1
true
4.clear()函式
清空乙個字典
dict1.clear(
)dict1
{}
使用clear()函式,可以使所有指向該字典的其他字典都清空
dict1 =
dict2 = dict1
dict1.clear(
)dict1
{}
dict2
{}
5.copy()函式
用來複製字典
dict1 =
dict2 = dict1.copy()id
(dict1)
1799550839400
id
(dict2)
1799550838896
dict1[
'a']=2
dict1
dict2
6.pop()和popitem()
pop()是給定鍵彈出的值,而popitem()是彈出乙個鍵值對
dict1 =
dict1.pop(
'a')
1
dict1
dict1.popitem(
)
('c', 3)
dict1
7.setdefault()與get()類似,但是setdefault()在字典中找不到對應的鍵時會自動新增
dict1 =
dict1.setdefault(
'd')
dict1
'a': 1, 'b': 2, 'c': 3, 'd': none}
8.update()
用來更新字典
dict1 =
dict1.update(a =2)
dict1
Python資料結構 字典
d1 建立空字典,沒有任何元素的大括號即為字典 d2 dict 建立空字典 d3 鍵與至之間用冒號 分開,鍵值對之間用逗號,分開 d4 dict one 1,two 2,three 3 注意此時key不要加引號 print type d1 print type d2 print d3 print d...
python資料結構 字典
字典的索引稱為 鍵 鍵及其關聯的值稱為 鍵 值 對。字典的索引可以使用許多不同資料型別,不只是整數。在 中,字典輸入時帶花括號 和列表不同,字典中的表項是不排序的,但可以用任意值作為鍵。keys values 和items 返回類似列表的值,分別對應於字典的鍵 值和鍵 值對。items 方法返回的d...
python 資料結構 字典
理解字典的最佳方式是把它看做無序的鍵 值對 key value 對 集合,鍵必須是互不相同的 在同乙個字典之內 一對大括號建立乙個空的字典 tel tel guido 4127 tel tel jack 4098 del tel sape tel irv 4127 tel list tel.keys...