d1 =
dict()
d2 =
data1 =[(
"張三",88
),("李四",87
),("王五",90
)]d2 =
dict
(data1)
print
(d2)
data2 =
dict
(name=
"summer"
,age=
23,height=
172)
print
(data2)
字典的基本用法
字典包含多個 key-value 對,而 key 是字典的關鍵資料,因此程式對字典的操作都是基於 key 的。
通過 key 訪問 value 。
通過 key 新增 key-value 對。
通過 key 刪除 key-value 對。
通過 key 修改 key-value 對。
通過 key 判斷指定 key-value 對是否存在。
通過 key 訪問 value 使用的也是方括號語法,就像前面介紹的列表和元組一樣,只是此時在方括號中放的是 key,而不是列表或元組中的索引
data2 =
dict
(name=
"summer"
,age=
23,height=
172)
print
(data2)
print
(data2[
"name"])
data2[
"scores"]=
500print
(data2)
del data2[
"height"
]# 刪除字典中的某個鍵值對
print
(data2)
data2[
"name"]=
"spring"
print
(data2)
print
("weight"
in data2)
print
("age"
in data2)
通過上面介紹可以看出,字典的 key 是它的關鍵。換個角度來看,字典的 key 就相當於它的索引,只不過這些索引不一定是整數型別,字典的 key 可以是任意不可變型別。
可以這樣說,字典相當於索引是任意不可變型別的列表:而列表則相當於 key 只能是整數的字典。因此,如果程式中要使用的字典的 key 都是整數型別,則可考慮能否換成列表。
此外,還有一點需要指出,列表的索引總是從 0 開始、連續增大的;但字典的索引即使是整數型別,也不需要從 0 開始,而且不需要連續。因此,列表不允許對不存在的索引賦值:但字典則允許直接對不存在的 key 賦值,這樣就會為字典增加乙個 key-value 對。
列表不允許對不存在的索引賦值,但字典則允許直接對不存在的 key 賦值。
字典推導式
data3 =
print
(data3)
data3_reversal =
print
(data3_reversal)
for k,v in data3_reversal.items():
print
("key : {}, value:{}"
.format
(k,v)
)# python 字典 items() 方法以列表形式(並非直接的列表,若要返回列表值還需呼叫list函式)返回可遍歷的(鍵, 值) 元組陣列
字典的常用方法data3 =
print
(data3.get(
"2")
)# 通過key獲取value
data3.update(
)# 通過key更新
print
(data3)
data3.clear(
)# 清空字典
print
(data3)
# 字串模板中使用key
temp =
'我的名字:%(name)s, 身高:%(height)010.2f, 學校:%(school)s'
book =
# 使用字典為字串模板中的key傳入值
print
(temp % book)
len()
返回字典的長度,是鍵的個數,也是值的個數,也是鍵值對的個數。空字典的長度是0
any()和all()
類似於對列表、tuple的操作,不過這兩個函式檢驗的是字典的鍵(key)。
any(): 只要字典有乙個鍵為true則返回true;
all(): 只有字典的所有鍵都為true才返回true;
sorted()
跟操作列表、tuple的效果一樣,它把字典的所有key當做乙個列表(或元組)進行排序
in 運算子
跟列表,元組一樣,in用來檢驗乙個key是不是在字典中
keys()
返回鍵(key)的view物件(型別是:dict_keys)。這個view物件可以動態檢視字典內部的物件,當字典改變後,這個view物件也會反應變化。
values()
返回值(value)的view物件,dict_values。
items()
返回鍵值對(key-value)的view物件:dict_items
copy()
在python中,把列表,字典物件賦值給變數時,都是「淺拷貝」,即,變數指向了物件,原來的物件改變了,這個變數的值也會跟著變。而cop()函式是「深拷貝」,重新創造乙個新物件賦值給變數,原來的物件的改變不影響新物件
data3 =
data4 = data3
print
(data4)
data5 = data3.copy(
)data5.update(
)print
(data5)
print
(sorted
(data5)
)d =
dict()
print
(d.fromkeys([1
,2,3
]))print
(d.fromkeys([1
,2,3
,],0
))#fromkeys()通過乙個序列來初始化字典
python字典巢狀之找地名 python基礎知識總結
1 算術運算子 運算子描述例項 加10 20 30 減 10 20 10 乘 10 20 200 除 10 20 0.5 取整除 返回除法的整數部分 商 9 2 輸出結果 4 取餘數 返回除法的餘數 9 2 1 冪 又稱次方 乘方,2 3 8 2 算術運算子 運算子描述 冪 最高優先順序 乘 除 取...
Python基礎知識總結
函式可變引數 可變引數允許你傳入0個或任意個引數,這些可變引數在函式呼叫時自動組裝為乙個tuple。defcalc number sum 0 for x in number sum sum x x return sum 直接呼叫 print calc 5,5,5 列表引數呼叫 num表示把num這個...
Python基礎知識總結
dir builtins 可以檢視內建函式,共68個 標準資料型別 python3 中有六個標準的資料型別,其中 資料型別 數字num 注意 1 python可以同時為多個變數賦值,如a,b 1,2。2 乙個變數可以通過賦值指向不同型別的物件。3 數值的除法包含兩個運算子 返回乙個浮點數,返回乙個整...