python 字典對映

2021-08-18 02:23:26 字數 4633 閱讀 4333

建立和使用字典

字典由鍵及其相應的值組成,這種兼職對稱為

函式dict

使用函式dict從其他對映或鍵值對序列建立字典。

in [1]

: items=[(

'name'

,'gumby'),

('age',42

)]in [2]

: d=

dict

(items)

in [3]

: dout[3]

:in [4]

: d[

'name'

]out[4]

:'gumby'

# 使用關鍵字實參來呼叫

in [5]

: d=

dict

(name=

'gumby'

, age=42)

in [6]

: dout[6]

:in [7]

: d[

'age'

]out[7]

:42

基本的字典操作

# 返回鍵值對個數

in [8]

:len

(d)out[8]

:2# 根據鍵獲取對應值

in [9]

: d[

'age'

]out[9]

:42# 改變鍵的關聯值

in [10]

: d[

'age']=

60# 刪除指定鍵

in [11]

:del d[

'name'

]# 檢查字典d是否包含鍵為k的項

in [13]

:'age'

in d

out[13]

:true

字典和列表的區別

字典方法

clear

刪除所有字典項;

in [14]

: d=

in [15]

: dictmap=

dict

(d)in [16]

: dictmap

out[16]

:in [17]

: dictmap.clear(

)in [18]

: dictmap

out[18]

:

copy

淺複製

in [8]

: x =

in [9]

: y=x.copy(

)in [10]

: y[

'username']=

'msk'

# 當替換副本中的值時,原件不受影響,然而如果修改副本中的值(就地修改),原件也將發生變化,因為原件也指向這個被修改的值。

in [11]

: xout[11]

:in [12]

: yout[12]

:in [13]

: y[

'machines'

].remove(

'bar'

)in [14]

: xout[14]

:in [15]

: yout[15]

:

深複製

in [22]

:from copy import deepcopy

in [23]

: d=

in [24]

: d[

'name']=

['hello1'

,'hello2'

]# 淺拷貝

in [25]

: c=d.copy(

)# 深拷貝

in [26]

: dc=deepcopy(d)

in [27]

: d[

'name'

]'liming'

)# 受影響

in [28]

: cout[28]

:# 不受影響

in [29]

: dc

out[29]

:

# d c指向同乙個物件

in [31]

: d==c

out[31]

:true

# d和dc指向不同的物件

in [32]

: dc==d

out[32]

:false

fromkeys

建立乙個新字典,其中包含指定的鍵,且每個鍵對應的值都是none。

in [36]

:.fromkeys(

['name'

,'age'])

out[36]

:

get

為訪問字典提供了寬鬆的環境,通常如果訪問字典中沒有的項將引發錯誤。

in [37]

: d=

in [38]

: d[

'name']-

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

--keyerror traceback (most recent call last)

input-38

-5c3cd6209e7b

>

in--

-->

1 d[

'name'

]keyerror:

'name'

# 可以指定預設值

in [41]

: d.get(

'name'

,'miss'

)out[41]

:'miss'

items

方法items返回乙個包含所有字典項的列表,每個元素都是(key,value)形式,排序不確定。

in [42]

: d =

in [43]

: d.items(

)out[43]

: dict_items([(

'title'

,'python web site'),

('url'

,''),

('spam',0)

])

返回值屬於一種名為字典試圖的特殊型別,,可用於迭代。

keys

返回乙個包含字典中鍵的字典試圖;

values

返回乙個由字典中值組成的字典檢視,可能包含重複值。

pop

可用於獲取與指定鍵相關聯的值,並將該鍵-值對從字典中刪除;

popitem

隨機彈出;

setdefault

獲取與指定鍵相關聯的值,除此之外,如果獲取的值不在字典中,則向其中新增指定鍵值對。指定鍵不存在就更新字典,存在就返回其值。

in [45]

: d=

in [46]

: d.setdefault(

'name'

,'hello'

)out[46]

:'hello'

in [47]

: dout[47]

:in [49]

: d[

'name']=

'123'

in [50]

: dout[50]

:in [51]

: d.setdefault(

'name'

,'hello'

)out[51]

:'123'

in [52]

: dout[52]

:

update

使用乙個字典的項來更新另乙個字典。通過引數提供的字段,將其項新增到當前字典中,如果當前字典包含鍵相同的項就替換。

in [52]

: dout[52]

:in [53]

: d=

in [54]

: e=

in [55]

: d.update(e)

in [56]

: dout[56]

:

Python對映型別 字典

雜湊對映或者相連陣列 keys和values方法分別用於獲取鍵和值的列表。雖然鍵值對沒有特定的順序,但這兩個函式會以相同的順序輸出鍵和值。for key,value in zip key list,value list dict型別函式直接處理二元元組列表 字典推導式 if key in some ...

Python中的對映 字典

1 字典的建立 1 直接進行建立 dict dict 2 利用工廠方法建立 dict dict x 1 y 2 3 通過內建方法進行建立,fromkeys 來建立乙個預設的字典,字典中的元素具有相同的值 預設的值是none dict fromkeys x y 1 2 訪問字典中的值 3 判斷字典中是...

對映(Mapping) 字典

通過名字來引用值得資料結構稱為對映 字典 dict 字典是鍵值對 key value pair 的無序可變集合。1 字典的操作 字典的建立 字典中的每個元素包含兩部分 鍵和值。鍵和值用冒號分隔,元素間用逗號分隔,所有元素放在一對大括號中。d 字典中的鍵為任意不可變物件,比如整數 實數 複數 字串 元...