python常用數據結構字典梳理
dict字典
字典定義與使用
字典的定義:
- 字典是無序的鍵值對集合
- 字典用大括號{}包圍
- 每個鍵/值對之間用一個逗號分隔
- 各個鍵與值之間用一個冒號分隔
- 字典是動態的
字典使用:創建
創建字典:
- –使用大括號填充鍵值對
- –通過構造方法dict()
- –使用字典推導式
# 創建字典 # --使用大括號填充鍵值對 a = {"name": "happy", "age": 18} print(type(a), a) # --通過構造方法dict() b = dict() print(type(b), b) c = dict([("name", "happy"), ("age", 18)]) print(type(c), c) # --使用字典推導式 d = {i: j for i, j in [("name", "happy"), ("age", 18)]} print(type(d), d)
字典使用:訪問元素
訪問元素:
- –與字典也支持支持中括號記法[key]
- –字典使用鍵來訪問其關聯的值
- –訪問時對應的key必須要存在
# 訪問元素 # --與字典也支持支持中括號記法[key] # --字典使用鍵來訪問其關聯的值 # --訪問時對應的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()
返回由字典鍵組成的一個新視圖對象
入參:無
返回
# 字典常用方法 # keys() # 返回由字典鍵組成的一個新視圖對象 # 入參:無 # 返回: a = {'name': 'lucky', 'age': 18, 'sex': 'man'} print(a.keys()) print(list(a.keys()))
values()
values()
返回由字典值組成的一個新視圖對象
入參:無
返回:
# values() # 返回由字典值組成的一個新視圖對象 # 入參:無 # 返回: a = {'name': 'lucky', 'age': 18, 'sex': 'man'} print(a.values()) print(list(a.values()))
items()
values()
返回由字典項((鍵,值)對)組成的一個新視圖對象
入參:無
返回:
# items() # 返回由字典項((鍵,值)對)組成的一個新視圖對象 # 入參:無 # 返回 a = {'name': 'lucky', 'age': 18, 'sex': 'man'} print(a.items()) print(list(a.items()))
get()
get(key)
獲取指定key關聯的value值
入參:key:字典的鍵,必傳
返回:
- –如果key存在於字典中,返回key關聯的value值。
- –如果key不存在,則返回None
此方法的好處是無需擔心key是否存在,永遠都不會引發KeyError錯誤。
# get(key) # 獲取指定key關聯的value值 # 入參:key:字典的鍵,必傳 # 返回: # --如果key存在於字典中,返回key關聯的value值。 # --如果key不存在,則返回None # 此方法的好處是無需擔心key是否存在,永遠都不會引發KeyError錯誤。 a = {'name': 'lucky', 'age': 18, 'sex': 'man'} print(a.get("name")) print(a.get("cc"))
update()
update(dict)
使用來自dict的鍵/值對更新字典,覆蓋原有的鍵和值
入參:字典對象,必傳
返回:None
# update(dict) # 使用來自dict的鍵/值對更新字典,覆蓋原有的鍵和值 # 入參:字典對象,必傳 # 返回:None a = {'name': 'lucky', 'age': 18, 'sex': 'man'} a.update({'name': 'happy', 'cc': 18}) print(a)
pop()
pop(key)
刪除指定key的鍵值對,並返回對應value值
入參:
key:必傳
返回:
- –如果key存在於字典中,則將其移除並返回value值
- –如果key不存在與字典中,則會引發KeyError
# pop(key) # 刪除指定key的鍵值對,並返回對應value值 # 入參: # key:必傳 # 返回: # --如果key存在於字典中,則將其移除並返回value值 # --如果key不存在與字典中,則會引發KeyError a = {'name': 'lucky', 'age': 18, 'sex': 'man'} print(a.pop("sex")) print(a)
字典推導式
字典推導式:可以從任何以鍵值對作為元素的可迭代對象中構建出字典
實例:給定一個字典對象{"a":1,"b":2,"c":3},找出其中所有大於1的鍵值對,同時value值進行平方運算。
# 字典推導式:可以從任何以鍵值對作為元素的可迭代對象中構建出字典 # 實例:給定一個字典對象{"a":1,"b":2,"c":3},找出其中所有大於1的鍵值對,同時value值進行平方運算。 a = {"a": 1, "b": 2, "c": 3} b = {i: j ** 2 for i, j in a.items() if j > 1} print(b)
到此這篇關於python常用數據結構字典梳理的文章就介紹到這瞭,更多相關python 字典內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!