python之字典的增刪改查

2022-08-23 21:42:09 字數 3972 閱讀 6245

python字典是另一種可變容器模型,且可儲存任意型別物件,如字串、數字、元組等其他容器模型。字典都是無序的,但查詢速度快。

字典是乙個key/value的集合,key可以是任意可被雜湊(內部key被hash後作為索引)的型別。因此,key可以是文字、數字等任意型別。如果兩個數字'=='判斷相等,那麼key就相等,value會產生覆蓋(例如:1 == 1.0 # => true)。注意,浮點數比較很不精確,因此千萬不要用浮點數作為key!

jason是字串,區別於字典,只是格式比較像(key-value)

字典的每個鍵值 key=>value 對用冒號 : 分割,每個鍵值對之間用逗號 , 分割,整個字典包括在花括號 {} 中 ,格式如下所示:

d= 鍵一般是唯一的,如果重複最後的乙個鍵值對會替換前面的,值不需要唯一。鍵可以取任何資料型別,但必須是不可變的,所以列表不行,如可取字串,數字或元組。

dict = 

print(dict['

b']) #

輸出值是:3

print(dict) #

輸出:

一、建立字典

1. 空字典

stu_info = dict()#

空字典

2. 字典由鍵和對應值成對組成。字典也被稱作關聯陣列或雜湊表。基本語法如下:

dict = 

也可如此建立字典

dict1 = 

dict2 =

二、查詢、訪問字典裡的值

1. 把相應的鍵放入熟悉的方括弧,如下例項:

dict = ;

print("

dict['name']:

", dict['

name'])

print("

dict['age']:

", dict['

age'])

#以上例項輸出結果:#dict['name']: zara#dict['age']: 7

如果用字典裡沒有的鍵訪問資料,會輸出錯誤如下:

dict = 

print ("

dict['name']:

", dict['

hhname10

'])

以上例項輸出結果:

traceback (most recent call last):

file "e:/python學習/pycharm/python指令碼/day3/test.py", line 32, in

print ("dict['name']: ", dict['hhname10'])

keyerror: 'hhname10'

2. dict.get()方法查詢,如查詢的key不存在,也不會報error,而是返回none或者如果指定了預設值,返回預設值

print(dict.get('

name

', '

此處可指定預設值,key不存在就輸出此值

')) #

如果key不存在且沒有指定預設值,則返回none

3. 獲取字典裡所有的key,或者所有的value

dict = 

print(dict.keys()) #

獲取字典裡面所有key

print(dict.values()) #

獲取字典裡面所有的value

以上輸出內容如下:

dict_keys([

'name

', '

age', '

class'])

dict_values([

'zara

', 7, '

first

'])

4. 迴圈取出字典裡所有的key,這種方式只能取出key,不能取value

for key in

dict:

print

(key)

以上內容輸出結果是:

name

ageclass

5. 迴圈取出字典裡的key-value

方法一:

dict = 

for i in

dict:

print

(i,dict[i])

以上輸出結果如下:

name zara

age 7class first

方法二:

dict = 

for i in

dict:

s = '

%s==>%s

' %(i, dict[i])

print

(s)輸出結果:

name==>zara

age==>7class==>first

方法三:(下面這種效率低,因為先會把字典轉換成二維陣列,然後在迴圈)

dict = 

for k,v in

dict.items():

print('

%s==>%s

' %(k,v))

輸出結果:

name==>zara

age==>7class==>first

6. 判斷key是否在字典裡存在,返回結果是true或者false,第一種方式執行效率高

print('

name

'in dict) #

效率高,執行速度快

print('

name

'in dict.keys())

三、更新、修改字典裡的值(鍵值對)

1. 新增,方式一

dict['

phone

']=15811111111 #

新增乙個字典裡沒有的元素

2. 新增,方式二,與方式一的區別在於setdefault新增乙個已經存在的key,它不會改變原來keyvalue

dict.setdefault('

email

','[email protected]

')

3. 修改,方法同新增方式一

dict['n

ame']='

denise

'

4. 合併更新

d1=

d2=d1.update(d2)

print(d1) #

輸出為:

四、刪除

1. dict.pop(『key』)

dict.pop('

name

') #

刪除指定的key及其對應的value

2. del dict['key']

del dict['

name

'] #

刪除指定的key及其對應的value

3. dict.clear()

dict.clear()

#清空這個字典,返回空的字典

4. dict.popitem()

dict.popitem() #

從字典裡隨機刪除乙個元素

5. del dict

del

dict

print(dict) #

報錯:nameerror: name 'dict1' is not defined,因為此詞典已被刪除

python 字典的增刪改查

字典和json類似,也是採用鍵值對 key values 的方式進行儲存資料,在python中,用作字典的key必須是可雜湊的 不可變的資料型別,比如數字 元組和字串。字典的關鍵字為dict,用 表示,字典可以儲存大量資料,相對列表速度要快一些,字典是可變的 無序的,不支援索引。dic dic.se...

python字典的增,刪,改,查

字典 dict 1.字典是無序,可變的資料型別 2.字典 用於儲存資料,儲存大量資料,字典要比列表快,將資料和資料之間進行關聯 定義乙個字典 dic 字典中逗號分隔叫做乙個元素 六月 鍵 99 值 鍵值對 字典的鍵 字典的值 增 dic dic 十月 流火 暴力新增 print dic dic.se...

python 字典的增刪改查

字典的特點 可變型別 大括號 資料為鍵值對形式出現 各個鍵值對用逗號隔開 一.增 改 dict1 dict1 gender 女 print dict1 注 如果key存在則修改key對應的值,如果不存在則新增此鍵值對 二.刪1.del del 刪除字典或刪除字典中指定的鍵值對 dict1 del d...