dict
用於需要查表的時候非常方便,今天要來介紹一下 dict
的用法!
key
與 value
對應的資料set
一樣dict[key]
可以讀取 key
對應的 value
,若 key
不存在於 dict
則會出現 KeyError 的錯誤導致程式中斷key
與 value
稱為一個 item
dict
dict1 = {} #創建一個空的 dict
print(type(dict1))
dict2 = {'a':'A', 'b':'B', 'c':'C'} # 小寫是 key 大寫是 value
print(type(dict2))
print(dict2)
print(dict2.items())
value
dict[]
:取得特定 key
對應的 value
,找錯 'key'
會終止程式
dict2 = {'a':'A', 'b':'B', 'c':'C'}
print(dict2['a']) # 取得的值為 A
print(dict2['d']) # KeyError: dict2 內沒有 'd' 所以到這裡停止
dict.get(key)
:取得特定 key
對應的 value
不會終止程式
dict2 = {'a':'A', 'b':'B', 'c':'C'}
print(dict2.get('a')) # 取得的值為 A
print(dict2.get('d')) # key 沒有 'd' 所以輸出是 None
dict.values
:取得所有 value
dict2 = {'a':'A', 'b':'B', 'c':'C'}
print(dict2.values())
key
dict.keys()
dict2 = {'a':'A', 'b':'B', 'c':'C'}
print(dict2.keys())
dict
內的元素dict[key] = value
:若 key
本來就存在,會改變對應的 value
,若不存在則會新增這組 key
和 value
dict2 = {'a':'A', 'b':'B', 'c':'C'}
dict2['a'] = 'XXX' # 把 'a' 對應的 value 改為 XXX
print(dict2)
dict2['d'] = 'D' # 創建一個 'd' 的 key
print(dict2)
dict.update()
:括號內要放一組 {key : value}
dict2 = {'a':'A', 'b':'B', 'c':'C'}
dict2.update({'a':'FF'})
dict2.update({'d':'DDD'})
print(dict2)
dict
內的元素dict.pop(key)
:移除括號內的 key
對應的 value
,括號 ()
不能是空的!
dict2 = {'a':'A', 'b':'B', 'c':'C'}
dict2.pop('b') # 括號內一定要放 key,不然會錯誤
print(dict2)
dict.popitem()
:移除最後一個 dict
內的元素,括號 ()
內要是空的
dict2 = {'a':'A', 'b':'B', 'c':'C'}
dict2.popitem()
print(dict2)
dict.clear()
:清除 dict
變為空的 dict
,dict
還在,還可以再重新新增元素進去。
dict2 = {'a':'A', 'b':'B', 'c':'C'}
dict2.clear()
print(dict2)
del
:直接刪除整個 dict
,無法 print
或把值放進去,取值的話會 Error。
dict2 = {'a':'A', 'b':'B', 'c':'C'}
del dict2
直接跑迴圈的話取出的值是 key
dict2 = {'a':'A', 'b':'B', 'c':'C'}
for x in dict2:
print(x, end = ' ')
或用 dict.keys()
記得加 s
dict2 = {'a':'A', 'b':'B', 'c':'C'}
for x in dict2.keys():
print(x, end = ' ')
要取得 value
要加 dict[]
dict2 = {'a':'A', 'b':'B', 'c':'C'}
for x in dict2:
print(dict2[x], end = ' ')
或用 dict.values()
記得加 s
dict2 = {'a':'A', 'b':'B', 'c':'C'}
for x in dict2.values():
print(x, end = ' ')
把整個 item 都取出
dict2 = {'a':'A', 'b':'B', 'c':'C'}
for x, y in dict2.items():
print(x, y)
dict
dict2 = dict1.copy()
:兩個 dict
id 不會一樣,不會互相影響
dict2 = {'a':'A', 'b':'B', 'c':'C'}
dddd = dict2.copy()
print(id(dict2))
print(id(dddd))
print(dddd)
dict2 = dict1
:id 會一樣,會互相影響
dict2 = {'a':'A', 'b':'B', 'c':'C'}
dddd = dict2
print(id(dict2))
print(id(dddd))
print(dddd)
用 dict()
複製:id 不會一樣
dict2 = {'a':'A', 'b':'B', 'c':'C'}
dddd = dict(dict2)
print(id(dict2))
print(id(dddd))
print(dddd)
待續...