建立字典操作很簡單,只需要記住使用大括號即可(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 刪除字典所有元...