python中字典詳解


字典特點

字典是python中最常用的數據類型,主要的特點如下:

1.字典的關鍵字:dict    字典一般是用"{}"花括號括起來的

2.字典是無序的數據類型

3.字典的可以存儲任意數據類型(例如:字典,列表,元組,數字,字符串,集合,布爾值)

4.字典的元素可以更改,但是如果包含的數據類型是元組,則元組里面的數據是不能進行更改,只能整體替換

5.字典的元素是按照key-value鍵值對的形式存在的,key和value之間是用 ":" 冒號隔開,每個鍵值對之間是用逗號隔開,整個字典是用{}包括起來

6.key的值是唯一且不可變的數據類型,例如:元組,數字,字符串,布爾值,浮點數     如果key值存在重復,那最后一個鍵值對會替換前面的

7.字典的取值,是根據key進行取值因為字典是無序的數據類型,所以不能使用索引進行取值,只有列表,元組才可以使用索引取值(有索引,就代表是有序的)

 

字典的常用操作

1.定義一個空的字典方法

dict={}

2.創建一個字典

dict={"name":"小張",1:"你好",0.2:[1,2,3],False:"學習",(2,3,4):9.8}   ------->(不同類型的數據,key是唯一且不可變類型,value可以是任意類型的)

3.字典的取值

取值單個元素:字典的取值是根據key來取的,例如:dict["name"],   輸出結果為:小張               取值方法:字典名[key]  

for循環取值:還可以通過for循環去進行元素遍歷取值     方法如下:

 

for value in dict.valuse():
    print(value)

 

 

 

4.字典的長度

如果想求字典的長度,可以使用len()內置函數          使用方法: len(dict)

 

字典的常用方法:

新增元素:dict[new_key]=new_value

刪除元素:dict.pop[key_value]

修改元素的值:dict[old_key]=new_value

**修改元素和新增元素的區別,修改是將舊的key值,賦予新的value,新增是創建一個新的key值,賦予新的value

 

字典常用的內置函數

1.len()     使用方法:len(dict)    計算字典的元素個數,也就是鍵的總數

2.str()     使用方法:str(dict)     輸出字典可打印的字符串格式,也就是將字典轉換為字符串類型

3.type()  使用方法:type(dict)  返回變量的類型,如果是字典格式的,那返回的數據類型為dict

eg:

 

例如:
1 aa={True:"nihao",False:"LIHAI"} 2 print(aa[True],aa[False]) 3 print(type(str(aa)))
4 print(len(aa))

輸出結果:
nihao LIHAI #打印的為字典的單個值
<class 'str'> #輸出的為輸入的變量類型
2 #輸出的為字典的長度

 

 

字典常用的內置方法

1.dict.clear()   刪除字典內所有元素

2.dict.pop(key,default)   刪除字典給定鍵 key 所對應的值,返回值為被刪除的值。key值必須給出。 否則,返回default值。

3.dict.popitem()   隨機刪除字典中的某個鍵值對

4.dict.get(key,default=None)     返回指定鍵的值,如果改值不在字典中,默認返回None   

(參數解釋:

  • key -- 字典中要查找的鍵。
  • default -- 如果指定鍵的值不存在時,返回該默認值。

5.dict.keys()   以列表返回字典中的所有key值     輸出格式:將所有的key值存放在一個列表中,最后以元組輸出

6.dict.values()  以列表返回字典中的所有value值     輸出格式,將所有的value值存放在一個列表中,最后以元組輸出

7.dict.items()   以列表返回可遍歷的(鍵,值)元組數組     輸出格式,將每一對key和value組成一個元組,再將這些數據存放在列表中,最后以元組輸出

eg:

 1 實例:
 2 data={"name":"小張",1:"你好",0.2:[1,2,3],False:"學習",(2,3,4):9.8}
 3 print(data.items())
 4 print(data.values())
 5 print(data.keys())
 6 print(data.get((2,3,4)))
 7 data.pop(0.2)
 8 print(data)
 9 data.popitem()
10 print(data)
11 data.clear()
12 print(data)

14 輸出結果: 15 dict_items([('name', '小張'), (1, '你好'), (0.2, [1, 2, 3]), (False, '學習'), ((2, 3, 4), 9.8)]) 16 dict_values(['小張', '你好', [1, 2, 3], '學習', 9.8]) 17 dict_keys(['name', 1, 0.2, False, (2, 3, 4)]) 18 9.8 19 {'name': '小張', 1: '你好', False: '學習', (2, 3, 4): 9.8} 20 {'name': '小張', 1: '你好', False: '學習'} 21 {}

 

字典中幾種常用的取值方式:

from jsonpath import jsonpath

#取出小藍
user_data={"user":"小紅","name":{"年齡":18,"sex":{"hh":"aa","name":"小藍"}}}

#使用jsonpath取值
e=jsonpath(user_data,"$..sex")[0]["name"]
print(e)

#使用一層一層取值
e1=user_data["name"]["sex"]["name"]
print(e1)

#用for循環取值
for value in user_data.values():
    if value=={'年齡': 18, 'sex': {'hh': 'aa', 'name': '小藍'}}:
        print(value["sex"]["name"])

#使用get的方式取值
e2=user_data.get("name")["sex"]["name"]
print(e2)

#取出字典所有的keys和values,items(),以列表返回可遍歷的(鍵,值)元組數組,然后通過索引進行取值
e3=user_data.items()
print(type(e3))
print(list(e3)[1][1]["sex"]['name'])

#取出所有的value值,然后取出對應的值
e4=user_data.values()
print(list(e4)[1]["sex"]["name"])

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM