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!

推薦閱讀: