Python語法基礎系列12 字典

2021-10-04 14:03:01 字數 4096 閱讀 9584

字典是 python 中非常重要的資料結構之一,屬於容器型資料型別,可以通過鍵值對同時儲存多個資料。

1. 什麼是字典(dict)

1.1 什麼是字典

字典是容器型資料型別, 將{}作為容器的標誌,裡面多個元素用逗號隔開,但是字典中的元素是鍵值對:

可變的(支援增刪改), 無序(不支援下標操作)。

1.2 鍵值對

字典中的所有元素都必須是鍵值對, 鍵和值必須成對出現; 字典存資料存的是值,鍵是用來區分和說明不同的值的

- 任意不可變的資料都可以作為鍵, 實際開發的時候一般將字串做為key;鍵是唯一的

- 任何型別的資料都可以作為字典的value

dict1 =

}print

(dict1)

# 鍵是不可變

dict2 =

# dict3 = # typeerror: unhashable type: 'list'

# key是唯一的

dict4 =

print

(dict4)

#

2. 字典的增刪改查

2.1查 - 獲取字典的值

獲取單個值

字典[key]- 獲取字典中指定key對應的值, 如果key不存在會報錯

字典.get(key)- 獲取字典中指定key對應的值, 如果key不存在不會報錯,並且返回none

字典.get(key, 預設值)- 獲取字典中指定key對應的值, 如果key不存在不會報錯, 並且返回指定的預設值

person =

print

(person[

'tel'])

# 1530002273

# print(person['height']) # keyerror: 'height'

print

(person.get(

'age'))

# 20

print

(person.get(

'height'))

# none

print

(person.get(

'height',0

))# 0

遍歷

"""

b.遍歷

for key in 字典:

迴圈體"""# 推薦使用這種方式遍歷

for x in person:

print

('x:'

, x, person[x]

)# 其他的遍歷方式(不要寫這樣的**)

for key, value in person.items():

print

(key, value)

print

(person.items(

))

2.2 增加鍵值對和修改鍵值對的值

字典修改和增加的語法一樣:

字典[key] = 值- 當key存在的時候,修改字典指定key對應的值;當key不存在的時候,新增』key:值』的鍵值對

person =

# 修改 name 對應的值為 』小花『

person[

'name']=

'小花'

print

(person)

# # 新增鍵值對: 'score': 90

person[

'score']=

90print

(person)

#

2.3 刪除鍵值對

字典刪除鍵值對的方法有兩種:

person =

del person[

'age'

]print

(person)

# name = person.pop(

'name'

)print

(person, name)

# 小花

3. 字典相關操作

3.1 in 和 not in

字典的 in 和 not in 和列表元組不同,字典是判斷某個 key 是否存在:

dog =

print

('name'

in dog)

# true

print

('旺財'

in dog)

# false

3.2 len, dict
dict3 =

dict([

[1,2

],('a'

,'b'),

('name'

,'小明'),

['age',18

],'he'])

print

(dict3)

# # 字典轉列表 - 將字典所有的key取出來作為列表的元素

dog =

list1 =

list

(dog)

print

(list1)

# ['name', 'age', 'kind']

4. 字典相關方法

字典.clear()- 清空字典

dog =

dog.clear(

)print

(dog)

# {}

字典.copy()- 拷貝字典,返回新的字典

dog =

dog2 = dog.copy(

)dog[

'name']=

'小黃'

print

(dog2)

#

dict.fromkeys(序列, 值)- 建立新字典;將序列中的元素作為key,指定的值作為每個key的value,去建立乙個新的字典

dict1 =

dict

.fromkeys(

['name'

,'age'

,'gender'],

0)print

(dict1)

#

字典.items()、字典.values()、字典.keys()

dog =

print

(list

(dog.keys())

)# ['name', 'age', 'gender', 'kind']

print

(list

(dog.values())

)# ['大黃', 4, '公狗', '土狗']

print

(dog.items())

# dict_items([('name', '大黃'), ('age', 4), ('gender', '公狗'), ('kind', '土狗')])

字典.setdefault(key, value)- 字典中新增鍵值對(key存在的時候不會修改)

dog =

# 如果不存在就新增

dog.setdefault(

'color'

,'黃色'

)print

(dog)

# # key存在不會修改

dog.setdefault(

'name'

,'財財'

)print

(dog)

#

字典1.update(字典2)- 將字典2中的鍵值對更新到字典1中(不存在的就新增,存在的就覆蓋)

dog =

dict2 =

dog.update(dict2)

print

(dog)

#

python基礎12 語法

字元型別 str 比較大小 從第1個開始比較 數值型別 int 比較大小 整個值比較 strip 刪除首尾 空白 sort 排序 永久 sorted 排序 臨時 reverse 倒序 len 確定長度 lower 轉換為小寫 upper 轉換為大寫 title 首字母大寫 if 條件判斷 and 多...

1 2 Python基礎語法

1.2.2 注釋 1.2.3 識別符號 1.2.4 變數 1.2.5 行與縮排 input 輸入 usr bin python3 str input 請輸入 print 你輸入的內容是 str 請輸入 hello python 你輸入的內容是 hello python print 輸出 usr bi...

python 12 物件導向基礎語法

dir 內建函式 定義簡單的類 只包含方法 方法中的self 引數 初始化方法 內建方法和屬性 在ipython中物件幾乎是無所不在的,我們之前學習的變數 資料 函式都是物件 在python中可以使用以下兩個方法驗證 1.在識別符號 資料後輸入乙個.然後按下tab鍵,ipython 會提示該物件能夠...