Python基礎之字典dict

2021-10-19 11:37:42 字數 3870 閱讀 6845

字典是另一種可變容器模型,且可儲存任意型別物件。

字典的每個鍵值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號{}中

舉個例子,假設要根據同學的名字查詢對應的成績,如果用 list 實現,需要兩個 list :

names =

['michael'

,'bob'

,'tracy'

]scores =[95

,75,85

]

給定乙個名字,要查詢對應的成績,就先要在 names 中找到對應的位置,再從 scores 取出對應的成績, list 越長,耗時越長。

如果用 dict 實現,只需要乙個「名字」-「成績」的對照表,直接根據名字查詢成績,無論這個表有多大,查詢速度都不會變慢。用python寫乙個 dict 如下:

>>

> d =

>>

> d[

'michael'

]95

由於乙個 key 只能對應乙個 value ,所以,多次對乙個 key 放入 value ,後面的值會把前面的值沖掉:

>>

> d[

'jack']=

90>>

> d[

'jack']90

>>

> d[

'jack']=

88>>

> d[

'jack'

]88

如果key不存在,dict就會報錯:

>>

> d[

'thomas'

]traceback (most recent call last)

:file ""

, line 1,in

keyerror:

'thomas'

(1)修改元素

字典的每個元素中的資料是可以修改的,只要通過 key 找到,即可修改

info =

new_id =

input

('請輸入新的學號:'

)info[

'id']=

int(new_id)

print

('修改之後的id為: %d'

% info[

'id'

])

(2)新增元素

訪問不存在的元素

info =

print(『id為:%d』 % info[『id』])

結果:

>>

> info =

>>

>

>>

>

print

('id為:%d'

% info[

'id'])

traceback (most recent call last)

:file ""

, line 1,in

keyerror:

'id'

如果在使用 變數名[『鍵』] = 資料 時,這個「鍵」在字典中,不存在,那麼就會新增這個元素。

新增新的元素

info =

# print('id為:%d'%info['id'])#程式會終端執行,因為訪問了不存在的鍵

newid =

input

('請輸入新的學號:'

)info[

'id'

]= newid

print

('新增之後的id為:%d'

% info[

'id'])

結果:請輸入新的學號:188

新增之後的id為:

188

(3)刪除元素

對字典進行刪除操作,有一下幾種:

delclear()

del 刪除指定的元素

info =

print

('刪除前,%s'

% info[

'name'])

del info[

'name'

]print

('刪除後,%s'

% info[

'name'])

結果》> info =

>>

>

>>

>

print

('刪除前,%s'

% info[

'name'])

刪除前,kkb

>>

>

>>

>

del info[

'name'

]>>

>

>>

>

print

('刪除後,%s'

% info[

'name'])

traceback (most recent call last)

:file ""

, line 1,in

keyerror:

'name'

del 刪除整個字典

info =

print

('刪除前,%s'

% info)

del info

print

('刪除後,%s'

% info)

clear清空整個字典

info =

print

('清空前,%s'

% info)

info.clear(

)print

('清空後,%s'

% info)

(4)len()

測量字典中,鍵值對的個數

d1 =

print

(len

(d1)

)結果:

3

(5)keys

返回乙個包含字典所有key的列表

d1 =

print

(list

(d1.keys())

)結果:

['name'

,'age'

,'class'

]

(6)values

返回乙個包含字典所有value的列表

d1 =

print

(list

(d1.values())

)結果:

['abc'

,'18'

,'cnh'

]

(7)items

返回乙個包含所有(鍵,值)元祖的列表

d1 =

print

(list

(d1.items())

)結果:[(

'name'

,'abc'),

('age'

,'18'),

('class'

,'cnh'

)]

(8)has_key (python3 已取消)

dict.has_key(key) 如果key在字典中,返回 true ,否則返回 false

#######------------######------------

閱讀原文免費獲取python經典學習書本大禮包**(20餘本):

閱讀原文免費獲取r語言經典學習書本大禮包(10餘本):

Python基礎之字典dict

字典的特性,鍵值對出現 字典的定義 字典的key不可重複,如果key重複的話,預設最後乙個元素新增到字典中,多個元素之間用逗號分割。字典是無序的 定義乙個字典 例 dic 字典的常用方法 fromkeys 引數是乙個可迭代型別,把每乙個迭代物件變成字典的key,value預設為none 可以修改 例...

python基礎之字典 dict

字典 dict 是一種key value 字典是無序的,不能像str list 一樣 通過index查詢資料 字典內可以迴圈巢狀list dict等 列表key是唯一的,值不限制 學號 姓名 info 新增 修改 info 004 1 查詢print info.get 001 通過key獲取valu...

Python基礎之 字典dict

1.collections模組 collections模組包含除了dict set list tuple以外的一些特殊的容器型別,比如下面幾個 1 ordereddict類 排序字典,是字典的子類。2 defaultdict 使用工廠函式建立字典,使不用考慮缺失的字典鍵。3 counter類 為ha...