資料型別之字典

2022-06-30 20:24:11 字數 3290 閱讀 3624

一.字典的作用

作用:字典是用來記錄多個值,使用key來對應值(列表和元組都是索引、位置來對應值),key通常字串型別,對value具有描述性功能,不是由個數來表述的

二.字典的定義

定義:{}內用逗號分隔開多元素,每乙個元素都是key:value的形式,其中value可以是任意型別,則key必須是不可變型別,且key不能重複,通常key是字串

型別,因為key對value有描述性功能

語法一:info =   #可以用字串、整型、浮點型、元組都可以當key,但是不能用列表當key

語法二:info = dict(x = 6,y = 9,c = 7)  #這樣也可以造字典,輸出結果為

注:如果{}括號內沒有填值,這預設為乙個空字典;如 d = {};

三.資料型別轉換

案例一,把乙個列表中的值轉換為字典

info = [

["姓名","夏亮"],

["性別","男"],

["年齡",31]

name = dict(info) #用dict直接把列表轉換為字典,需要用dict轉換時,列表中每個小列表必須有兩個值;迴圈列表中的值,把巢狀類別中的第乙個值當做key,第二個當做value

print(name)

輸出結果:

案例二,快速初始化乙個字典,把乙個列表中的值取出來,當做字典的key,並且value都為none

info = ["姓名","姓名","年齡"]

reg = {}.fromkeys(info,none)  #迴圈info列表中的值,然後存入到乙個空字典中當做key,value為none,這裡none為預設值,也可以指定為其他的預設值

print(reg)

輸出結果:

四.內建方法

1.優先掌握

1.1 按key存、取值:可存可取

案例一:

name =

name["姓名"]="xialiang"  #針對賦值操作:key存在,則直接修改

print(name)

輸出結果:

案例二:

name =

name["性別"]="男"  #針對賦值操作:key不存在,則直接建立新值

print(name)

輸出結果:

2.長度:len

d =

print(d)

輸出結果:  #key不能重複,這裡key重複了,所以只取乙個

print(len(d))

輸出結果:2  #key不能重複,這裡k1三個,只能算乙個

3.成員運算in 和not in:根據key來找的

d =

print("k1" in d)  #key(k1)存在d字典中

輸出結果:true

4.刪除

4.1 通用刪除方法:del

d =

del d["k1"]  #刪除字典中指定的key

print(d)

輸出結果:

4.2 pop刪除:根據key刪除元素,可以返回key對應的value值,如:res = d.pop("k2"),輸出結果會顯示k2對應的值

d =

d.pop("k2")  #刪除字典中指定的key,與del一樣

輸出結果:

4.3 popitem刪除:預設刪除最後乙個元素,返回乙個元組(刪除的key,刪除的value),如:res=d.popitem(),輸出結果會顯示('k4', 44)

d =

d.popitem()  # 預設刪除字典中最後乙個key

輸出結果:

5.鍵keys()、值values()、鍵值對items()

d =

print(d.keys()) #獲取字典中所有的key

輸出結果:dict_keys(['k1', 'k2', 'k3', 'k4'])

print(d.values())  #獲取字典所有的value

輸出結果:dict_values([11, ['xialiang', 'zhuguil'], 33, 44])

print(d.items())

輸出結果:dict_items([('k1', 11), ('k2', ['xialiang', 'zhuguil']), ('k3', 33), ('k4', 44)]) #獲取字典中所有的鍵值對

五.其他的內建方法(需要掌握的)

1.clear()  #清空字典中的值

案例:d =

d.clear()  #清空字典中的值

print(d)

輸出結果:{}

2.update()  #更新字典中的值,當key存在字典中,修改字典中的值;當key不存在字典中,則增加原字典中的值

案例:d =

vl =    #vl中有些key存在字典中,有些key不存在字典中,則存在就修改,不存在就增加

d.update(vl)

輸出結果:

3.get()  #key存在字典中,則獲取key所對應的value;key不存在,則返回none

案例:d =

res = d.get("k2")  #key存在返回所對應的value,不存在返回none

輸出結果:['xialiang', 'zhuguil']

注意:用res = d["k2"]也可以去取出k2的value,輸出結果一樣,當如果key不存在時,程式就會報錯,但是用get()方法就不會不報錯,表示get()方法容錯性好

4.setdefault()  #當字典中存在key,則不修改;當字典中不存在key,則增加

案例:d =

d.setdefault("k1",22)  #字典中存在key,則列印出來還是原來key對應的值

print(d)

輸出結果:

d.d.setdefault("k8",22)  #字典中不存在key,則列印出來結果會把不存在字典中的key和key對應的值新增到字典中去

print(d)

輸出結果:

python資料型別之字典型別

字典常用方法 clear get pop update copy items popitem values fromkeys keys setdefault 字典的表示方法 info dic 常用操作 1.存 取 info dic print info dic name11111111 找不到則報錯...

Python資料型別之字典

字典 dictionary 是除列表之外python中最靈活的內建資料結構型別。列表是有序物件的集合,字典是無序物件的集合。兩者區別在於 字典當中的元素是通過鍵來訪問的 鍵值對 而不是通過偏移訪問。字典用花括號 標識。字典就是c 標準庫的map,每乙個元素都是成對的,包含key value兩部分。關...

python資料型別之字典

字典 dictionary 字典是 python 資料型別中唯一類似 key value 雜湊表的對映型別,字典物件是可變的,但 key值是不可變的 1.字典的定義 1 空字典的定義 d 2 一般字典的定義 d 3 通過內建方法 fromkeys 定義 字典中有相同的 value 值,預設為 non...