Python 字典常用操作

2021-08-27 13:48:43 字數 2952 閱讀 3451

建立字典操作很簡單,只需要記住使用大括號即可(python中的三種常用資料型別:列表 - ,元組 - (),字典 - {})

#建立乙個空字典

dic = {}

# 建立乙個有初始值的字典

dic1 =

當然,字典的鍵,值均可以是int型別。

對於以上的dic1,如果還想增加乙個15歲的bob,那麼只需要:

dic1['bob'] = 15
當然,和python的list一樣,你無需保證字典裡的每個元素有相同的資料型別,也就是說,你也可以在dic1中新增這樣乙個鍵-值對:

dic1[1] = 12
三、刪除鍵-值

1、核**級別的clear()方法

clear()方法可以用來清除字典中的所有資料,因為對字典造成了毀滅性的操作,所以也沒必要有返回值。

dic1 = 

dic1.clear()#執行操作後dic1變為{}

2、指哪打哪的pop()方法

pop()方法的作用是:刪除指定給定鍵所對應的值,返回這個值並從字典中把它移除。注意字典pop()方法與列表pop()方法作用完全不同。

dic1 = 

t = dic1.pop('tom')

print(t)##t = 15

print(dic1)##dic1 =

3、乙個乙個來的popitem()方法

字典popitem()方法作用是:隨機返回並刪除字典中的一對鍵和值(項)。因為字典是無序的,所以沒有所謂的「最後一項」

#!/usr/bin/python

# -*- coding: utf-8 -*-

site=

pop_obj=site.popitem() # 隨機返回並刪除乙個鍵值對

print pop_obj # 輸出結果可能是

4、 del 全域性方法(能刪單一的元素也能清空字典,清空只需一項操作)

#!/usr/bin/python

# -*- coding: utf-8 -*-

site=

del site['name'] # 刪除鍵是'name'的條目

del site # 清空字典所有條目

1、通過鍵查詢值

這是字典的本職工作。主要有兩種情況: 

1. 通過鍵找到對應的值:print(dic1['tom'])

2. 判斷有無對應的鍵:使用函式dic.__contains__(鍵),有這個鍵返回true,沒有返回false

2、通過值查詢鍵

通過值查詢鍵比較複雜,但是有時候也有這樣的需求。雖然實現起來相對複雜一點,但依舊可以達到這樣的目的,一般來說可通過如下3種方式實現: 

1) 充分利用 keys()【獲取字典裡的所有鍵】 、values()【獲取字典裡的索引值】、index(值)【返回滿足條件的 list 索引】 函式。**如下:

index()方法語法:

str.index(str, beg=0, end=len(string))

list (dic1.keys()) [list (dic1.values()).index (13)]#返回jhon
2)通過定義get_key函式的方式。

def get_key (dict, value):

return [k for k, v in dict.items() if v == value]

t = get_key (dic1, 15) # 返回t=['tom']

3)將原字典dict進行反轉得新字典new_dict,由原來的k-v儲存形式,變為v-k儲存形式

new_dict = 

new_dict [15]#返回tom

使用這種方法有乙個前提條件:在原字典中,value值必須是唯一且不重複的。以下兩種情況會導致這種方法失敗。

dic2 = #值有重複元素,這樣轉化成鍵的時候會隨機刪掉乙個

dic3 = #值不唯一,轉化成鍵時違背字典鍵唯一的原則。

3、把字典key-值轉化為list

dic_list = list(dic.items())

print(dict_list)

#[('tom', 15), ('jhon', 13), ('marry', 12)]

如果需要把鍵值對依次輸出,可以使用for迴圈:

for item in dic_list:

print(item)#依次輸出鍵值對

#('tom', 15)

#('jhon', 13)

#('marry', 12)

1、sorted函式按val和key值對字典排序

d = 

val=sorted(d.items(),key = lambda x:x[1],reverse = true)

key=sorted(d.items(),key = lambda x:x[0],reverse = true)

print(val)

print(key)

#[('b', 4), ('c', 2), ('a', 1)]

#[('c', 2), ('b', 4), ('a', 1)]

2、方法二

d = 

print([(key,d[key])for key in sorted(d.keys())])

#[('a', 1), ('b', 4), ('c', 2)]

Python字典常用操作

python的字典與json結構相似,但是有很多不同。字典是一種資料結構,而json是一種資料格式。不同點有如下幾種 python dict 字串用單引號,json強制規定雙引號 json的鍵必須是字串,python dict的鍵必須是可雜湊的,字典裡的key有乙個原則,必須可雜湊 有個內建函式ha...

python字典常用操作

1.修改元素 字典的每個元素中的資料是可以修改的,只要通過key找到,即可修改 info info 1 aa info 2.新增 如果在使用 字典 鍵 資料 時,這個 鍵 在字典中,不存在,那麼就會新增這個元素 info info 4 d info 3.刪除 del 刪除指定元素 clear 清空字...

python字典的常用操作

coding utf 8 新建乙個字典 d printd xiaoming 訪問字典中的某個元素 d xiaoqin 25 新增元素 printd d.pop xiaoming 刪除元素 printd d.popitem 隨機返回並刪除字典中的一對鍵和值 printd d.clear 刪除字典所有元...