python 字典的常用操作

2021-09-14 05:43:55 字數 2832 閱讀 3430

1 字典

1.1 python字典的概述

字典是乙個無序的,可以修改的,元素呈鍵值對的形式,以逗號分割的,以大括號包圍的序列;

字典是python基礎資料型別當中唯一乙個對映關係的資料型別;

由於字典無序,所以我們定義字典和字典生成之後的元素的順序是不同的;

1.2 python字典的定義

1.定義字典、檢視資料和型別

直接使用print輸出

使用type函式檢視字典型別

原始碼:

執行結果:

字典的key必須是不可變資料型別,value可以是任意資料型別

2.字典的增加操作

使用setfault方法

在字典中如果鍵存在了,就會覆蓋鍵對應的值

執行結果

法2:通過key值進行增加

執行結果

字典中的鍵值可以是數字也可以是字元,但不能是變數

3.刪除操作

例:pop方法 彈出指定鍵值對

popitem方法 隨機刪除乙個鍵值對

執行結果

使用 clear 清除物件

例:

執行結果

4、修改操作

(1).通過key來修改內容 info[key]=value

例:執行結果:

(2).update()方法

例:執行結果:

5.查詢字典

(1)、keys()

從中我們可以知道,對於keys()函式,字典返回的是乙個類(我們可以把它簡單看做是資料以及由訪問、操作這些資料的方法所組成的乙個集合),我們如果向呼叫其中的鍵值,必須使用list()函式。可以通過遍歷取出其中的值,但不能像list那樣呼叫。

如:dic.keys( )[0] 會報錯

for i in dic.keys():

print(i)

卻可以成功打出所有的鍵值

(2)values()

同理values()返回的也是乙個類

(3)get( ),取出字典的值

注:還有dict[key] 也可以,可以看出dict[key]比上述要簡便

(4) update()

上面已經做過講解

(5)items()

和values( )與keys( )類似,返回的也是乙個類,是乙個包含key和value的列表

1.3 字典的特點

因為字典是無序的,所以字典沒有索引值;

因為字典沒有索引值,所以字典以鍵取值,(字典的鍵相當於列表的索引);

因為字典以鍵取值,所以字典的鍵唯一且不可修改;

因為字典的鍵不可修改,所以列表和字典等可變型別的資料不可以給字典做鍵。

1.4 字典的常見操作

2、鍵值對互換

注:這個可以進互換的前提是鍵值對唯一。

法1:法2:方法2 相當於方法1 的簡便方式

方法3:利用zip()函式合併d.keys()和d.values()的物件

3、將字典按key值或者value值排序並返回字典

(1)利用lambda函式

1.1.lambda

功能: 建立匿名函式

區別: 和def函式定義,以下兩點區別

案例:在這裡要用到兩個函式sorted和lambda。

案例1:按字典的鍵值排序

注:字典本身在建立的時候就,就會對key值去重,並保留最後乙個key值中的元素。

案例2:按字典中的值排序並生成新的字典

利用字典統計列表中的個數

#方法1

values=[1

,2,3

,2,3

,1,4

]values_cnt=

for value in values:

value_cnt[value]

=values_cnt.get(value,0)

+1#方法2

list1=[1

,1,2

,3,2

,3]dict1=

for i in list1:

if i not

in dict1:

dict1[i]=1

else

: dict1[i]

+=1

python字典的常用操作

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

字典的常用操作python

4 刪除字典 5 合併兩個字典 6 字典解析 7 整體 字典的鍵唯一,值不唯一dict1 dict dict2 dict3 dict 1,2 3,4 list 5,6,7 seq a b c dicts dict.fromkeys seq,10 dict1 1 2 1 2 dict2 age 24 ...

Python 字典常用操作

建立字典操作很簡單,只需要記住使用大括號即可 python中的三種常用資料型別 列表 元組 字典 建立乙個空字典 dic 建立乙個有初始值的字典 dic1 當然,字典的鍵,值均可以是int型別。對於以上的dic1,如果還想增加乙個15歲的bob,那麼只需要 dic1 bob 15當然,和python...