Python 字典學習總結(自學)

2021-09-25 01:16:14 字數 3890 閱讀 4757

與列表進行對比:

1.列表的每乙個索引(index)都有其對應的值(value);

2.字典的每乙個鍵(key)也都有其對應的值(value),且鍵的內容可以由我們編寫。

這樣,字典的存在方便了我們根據關鍵字提取對應值了。

>>

> dict1=

>>

> dict1

該方法有兩組表達形式

a =

dict

(one=

1, two=

2, three=

3)

a =

dict((

("one",1

),("two",2

)))b =

dict([

("one",1

),("two",2

)])

要明確該函式的意義:fromkeys可以批量生成多對「」相同值的而鍵不同」的「鍵值」。

>>

> a =

>>

> a.fromkeys([1

,2,3

],4)

>>

> a.fromkeys([1

,2,3

],(4

,5,6

))#value用元組打包多個值,系統依舊把它當做乙個元組值

>>

> a

#原字典並未發生變化

a =

>>

> a[

'one'

]1

使用該函式時,鍵存在於字典中時,會返回對應值;鍵不存在於字典中時,會返回「none」

>>

> a =

>>

> a.get(

"one")1

>>

>

print

(a.get(

"four"))

none

使用該函式時,鍵存在於字典中時,會返回對應值;鍵不存在於字典中時,可在其後新增對於的值,該函式會將其新增至字典中」

>>

> a =

>>

> a.setdefault(

"one")1

>>

> a.setdefault(

"four",4

)4>>

> a

這一塊與列表、元組相同,不再贅述。

值得注意的是,若訪問的鍵不存在且對其進行賦值,則系統會自動向字典中新增該對鍵-值。

>>

> a =

>>

> a[

"four"]=

4>>

> a

在使用該函式時,若鍵存在於字典中,則將相應鍵值進行修改;若鍵不存在於字典中,則將其「鍵-值」新增至字典中。

>>

> a =

>>

> a.update(

)>>

> a

使用方法與列表類似,有刪除整個字典的存在於刪除字典某對「鍵-值」兩個作用

>>

> a =

>>

>

del a #不帶中括號,刪除整個字典

>>

> a

traceback (most recent call last)

: file ""

, line 1,in

anameerror: name 'a'

isnot defined # 字典已不存在了

>>

> b =

>>

>

del b[

'one'

]#中括號內為待刪除的鍵名,可刪除指定的「鍵-值」

>>

> b

該函式可使字典刪除指定鍵的值,並返回該值。(老是忘記)

>>

> a =

>>

> a.pop(

'one')1

>>

> a

清空字典內容

與直接將字典賦值為空字典的區別:

>>

> a =

>>

> b = a

>>

> a.clear(

)>>

> a

>>

> b

>>

>

結果:a、b均成為了空的字典

>>

> a =

>>

> a

>>

> b

>>

>

結果:a成為了空字典,而b還是原來的有值字典。

(1).在python中,值相當於物體,而變數名相當於標籤。

(2).給變數名賦值,就相當於將標籤貼於物體之上。而乙個物體可以有多個標籤,及乙個值可以賦予多個變數名。

(3).若將變數名重新賦值,則是將標籤貼於其他物體上,而先前的物體及其他的標籤不會發生變化。

(1).「b = a」使a、b標籤都貼在了字典上。

(2).而clear函式是將直接變為了,使得貼在其上的a、b值都變成了。(3).而「a=」使a 標籤重新貼在了字典上,而b標籤還是貼在原有的字典上。故a成為了空字典,而b還是原來的有值字典。

該函式屬於淺拷貝

>>

> a =

>>

> b = a.copy(

)# 淺拷貝

>>

> b

>>

> a =

# 將母字典重新賦值為空字典

>>

> b

# b沒有變成空字典

淺拷貝與深拷貝的區別(依舊採用標籤與物體的解釋方法)

>>

> a =

>>

>>

for key , value in a.items():

#兩個變數

print

(key +

"的意義是"

+str

(value))

one的意義是1

two的意義是2

three的意義是3

a =

for key in a.keys():

print

(key)

onetwothree

>>

> a =

>>

>

for value in a.values():

print

(value)12

31

若想相同的值只訪問一次,可使用外部函式set()將其轉化為集合,刪除重複出現的內容

>>

>

for value in

set(a.values())

:print

(value)12

3

python 字典dict 學習總結

例如 di 此處,di中雖然有6個字串,但是實際上di只有3個值,我們把 a1 123 這種di裡的值叫做 鍵值對 key value 其中,value部分可以使用任何值,也可以隨意巢狀 而在key部分中,列表list,字典dict不能放在key裡面,這和字典本身的運作方式有關 因為列表字典不能做雜...

Python自學3(字典)

1.像列表一樣,字典 是許多值的集合,但是不像列表的下標,字典的索引可以使用許多不同資料型別,不只是整數。字典的索引被稱為 鍵 鍵及其關聯的值稱為 鍵 值 對 2.字典中的表項是不排序的,不能像列表一樣進行切片。3.嘗試訪問字典中不存在的鍵,將導致keyerror出錯資訊 4.儘管字典時不排序的,但...

python字典總結

1.dict 建立字典 fdict dict x 1 y 2 fdict 2.fromkeys 來建立乙個 預設 字典,字典中元素具有相同的值 ddict fromkeys x y 1 ddict 3.遍歷字典 使用keys 遍歷 dict2 for key in dict2.keys print ...