Python開發基礎知識總結字典3

2021-10-07 10:22:13 字數 3272 閱讀 8204

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 數值的除法包含兩個運算子 返回乙個浮點數,返回乙個整...