python常用數(shù)據(jù)結(jié)構(gòu)字典梳理
dict字典
字典定義與使用
字典的定義:
- 字典是無序的鍵值對集合
- 字典用大括號{}包圍
- 每個鍵/值對之間用一個逗號分隔
- 各個鍵與值之間用一個冒號分隔
- 字典是動態(tài)的
字典使用:創(chuàng)建
創(chuàng)建字典:
- --使用大括號填充鍵值對
- --通過構(gòu)造方法dict()
- --使用字典推導(dǎo)式
# 創(chuàng)建字典 # --使用大括號填充鍵值對 a = {"name": "happy", "age": 18} print(type(a), a) # --通過構(gòu)造方法dict() b = dict() print(type(b), b) c = dict([("name", "happy"), ("age", 18)]) print(type(c), c) # --使用字典推導(dǎo)式 d = {i: j for i, j in [("name", "happy"), ("age", 18)]} print(type(d), d)
字典使用:訪問元素
訪問元素:
- --與字典也支持支持中括號記法[key]
- --字典使用鍵來訪問其關(guān)聯(lián)的值
- --訪問時對應(yīng)的key必須要存在
# 訪問元素 # --與字典也支持支持中括號記法[key] # --字典使用鍵來訪問其關(guān)聯(lián)的值 # --訪問時對應(yīng)的key必須要存在 a = {"name": "happy", "age": 18} print(a["name"])
字典使用:操作元素
語法:dict[key]=value
添加元素:
--鍵不存在
修改元素:
---鍵已存在
# 語法:dict[key]=value # 添加元素 # --鍵不存在 # 修改元素 # ---鍵已存在 a = {"name": "happy", "age": 18} a["name"] = "lucky" print(a) a["sex"] = "man" print(a)
字典使用:嵌套字典
嵌套字典:字典的值可以是字典對象
# 嵌套字典 # 字典的值可以是字典對象 a = {'name': {'lucky': 5, "happy": 6}, 'age': 18, 'sex': 'man'} print(a['name']["lucky"]) a['name']["lucky"] = 10 print(a)
字典常用方法
- keys()
- keys()
返回由字典鍵組成的一個新視圖對象
入?yún)ⅲ?/strong>無
返回
# 字典常用方法 # keys() # 返回由字典鍵組成的一個新視圖對象 # 入?yún)ⅲ簾o # 返回: a = {'name': 'lucky', 'age': 18, 'sex': 'man'} print(a.keys()) print(list(a.keys()))
values()
values()
返回由字典值組成的一個新視圖對象
入?yún)ⅲ簾o
返回:
# values() # 返回由字典值組成的一個新視圖對象 # 入?yún)ⅲ簾o # 返回: a = {'name': 'lucky', 'age': 18, 'sex': 'man'} print(a.values()) print(list(a.values()))
items()
values()
返回由字典項((鍵,值)對)組成的一個新視圖對象
入?yún)ⅲ簾o
返回:
# items() # 返回由字典項((鍵,值)對)組成的一個新視圖對象 # 入?yún)ⅲ簾o # 返回 a = {'name': 'lucky', 'age': 18, 'sex': 'man'} print(a.items()) print(list(a.items()))
get()
get(key)
獲取指定key關(guān)聯(lián)的value值
入?yún)ⅲ?/strong>key:字典的鍵,必傳
返回:
- --如果key存在于字典中,返回key關(guān)聯(lián)的value值。
- --如果key不存在,則返回None
此方法的好處是無需擔(dān)心key是否存在,永遠(yuǎn)都不會引發(fā)KeyError錯誤。
# get(key) # 獲取指定key關(guān)聯(lián)的value值 # 入?yún)ⅲ簁ey:字典的鍵,必傳 # 返回: # --如果key存在于字典中,返回key關(guān)聯(lián)的value值。 # --如果key不存在,則返回None # 此方法的好處是無需擔(dān)心key是否存在,永遠(yuǎn)都不會引發(fā)KeyError錯誤。 a = {'name': 'lucky', 'age': 18, 'sex': 'man'} print(a.get("name")) print(a.get("cc"))
update()
update(dict)
使用來自dict的鍵/值對更新字典,覆蓋原有的鍵和值
入?yún)ⅲ?/strong>字典對象,必傳
返回:None
# update(dict) # 使用來自dict的鍵/值對更新字典,覆蓋原有的鍵和值 # 入?yún)ⅲ鹤值鋵ο螅貍? # 返回:None a = {'name': 'lucky', 'age': 18, 'sex': 'man'} a.update({'name': 'happy', 'cc': 18}) print(a)
pop()
pop(key)
刪除指定key的鍵值對,并返回對應(yīng)value值
入?yún)ⅲ?/strong>
key:必傳
返回:
- --如果key存在于字典中,則將其移除并返回value值
- --如果key不存在與字典中,則會引發(fā)KeyError
# pop(key) # 刪除指定key的鍵值對,并返回對應(yīng)value值 # 入?yún)ⅲ? # key:必傳 # 返回: # --如果key存在于字典中,則將其移除并返回value值 # --如果key不存在與字典中,則會引發(fā)KeyError a = {'name': 'lucky', 'age': 18, 'sex': 'man'} print(a.pop("sex")) print(a)
字典推導(dǎo)式
字典推導(dǎo)式:可以從任何以鍵值對作為元素的可迭代對象中構(gòu)建出字典
實例:給定一個字典對象{"a":1,"b":2,"c":3},找出其中所有大于1的鍵值對,同時value值進(jìn)行平方運算。
# 字典推導(dǎo)式:可以從任何以鍵值對作為元素的可迭代對象中構(gòu)建出字典 # 實例:給定一個字典對象{"a":1,"b":2,"c":3},找出其中所有大于1的鍵值對,同時value值進(jìn)行平方運算。 a = {"a": 1, "b": 2, "c": 3} b = {i: j ** 2 for i, j in a.items() if j > 1} print(b)
到此這篇關(guān)于python常用數(shù)據(jù)結(jié)構(gòu)字典梳理的文章就介紹到這了,更多相關(guān)python 字典內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實現(xiàn)對一個函數(shù)應(yīng)用多個裝飾器的方法示例
這篇文章主要介紹了Python實現(xiàn)對一個函數(shù)應(yīng)用多個裝飾器的方法,結(jié)合實例形式分析了Python編程中一個函數(shù)使用多個裝飾器的簡單操作技巧,需要的朋友可以參考下2018-02-02爬蟲訓(xùn)練前端基礎(chǔ)Bootstrap5排版表格圖像
這篇文章主要為大家介紹了爬蟲訓(xùn)練前端基礎(chǔ)Bootstrap5排版表格圖像,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02科學(xué)Python開發(fā)環(huán)境Spyder必知必會點
這篇文章主要為大家介紹了科學(xué)Python開發(fā)環(huán)境Spyder必知必會點及使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01Python Matplotlib庫實現(xiàn)畫局部圖
這篇文章主要為大家詳細(xì)介紹了Python Matplotlib庫實現(xiàn)畫局部圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11Python數(shù)據(jù)結(jié)構(gòu)與算法之圖結(jié)構(gòu)(Graph)實例分析
這篇文章主要介紹了Python數(shù)據(jù)結(jié)構(gòu)與算法之圖結(jié)構(gòu)(Graph),結(jié)合實例形式分析了圖結(jié)構(gòu)的概念、原理、使用方法及相關(guān)操作技巧,需要的朋友可以參考下2017-09-09python中如何使用xml.dom.minidom模塊讀取解析xml文件
xml.dom.minidom模塊應(yīng)該是內(nèi)置模塊不用下載安裝,本文給大家介紹python中如何使用xml.dom.minidom模塊讀取解析xml文件,感興趣的朋友一起看看吧2023-10-10