mapping 對象會將 hashable 值映射到任意對象。 映射屬于可變對象。 目前僅有一種標準映射類型 字典。 (關于其他容器對象請參看 list, set 與 tuple 等內置類,以及 collections 模塊。)
字典的鍵 幾乎 可以為任何值。 不是 hashable 的值,即包含列表、字典或其他可變類型(按值比較而非按對象標識比較)的值不可被用作鍵。 比較結果相等的值(如 1, 1.0 和 True 等)可被互換使用以索引同一個字典條目。
文章目錄
- 前言
- 在 Python 中,dict 是一種數據結構,也稱為字典(Dictionary),用于存儲鍵值對(key-value pairs)的集合。字典是一種可變的、無序的、以鍵為索引的集合,其中每個鍵必須是唯一的,但值則不必唯一。
- 一、dict是什么?
- 二、使用步驟
- 1.基本操作(增刪查改)
- 創建字典
- 訪問字典元素
- 修改字典元素
- 添加字典元素
- 刪除字典元素
- 判斷字典是否為空
- 遍歷字典
- 2.常用方法
- 1.clear():清空字典
- 2.copy():復制字典
- 3.fromkeys():創建指定鍵的字典,是一個類方法,參數為序列或迭代器,默認參數是None
- 4.get():獲取指定鍵的值
- 5.items():以列表返回可遍歷的(鍵, 值) 元組數組
- 6.keys():以列表返回字典所有的鍵
- 7.values():以列表返回字典所有的值
- 8.pop():刪除指定鍵的值,并返回該值
- 9.popitem():隨機刪除一個鍵-值對,并返回該鍵-值對
- 10.setdefault():設置默認值
- 11.update():更新字典
- 12.并集運算符 |
- 總結
前言
在 Python 中,dict 是一種數據結構,也稱為字典(Dictionary),用于存儲鍵值對(key-value pairs)的集合。字典是一種可變的、無序的、以鍵為索引的集合,其中每個鍵必須是唯一的,但值則不必唯一。
提示:以下是本篇文章正文內容,下面案例可供參考
一、dict是什么?
在 Python 中,dict 是一種數據結構,也稱為字典(Dictionary),用于存儲鍵值對(key-value pairs)的集合。字典是一種可變的、無序的、以鍵為索引的集合,其中每個鍵必須是唯一的,但值則不必唯一。
字典的特點包括:
無序性:字典中的鍵值對沒有固定的順序,不像列表或元組有順序。
鍵的唯一性:字典中的鍵必須是唯一的,如果重復賦值給同一個鍵,則會覆蓋原來的值。
可變性:字典是可變的,可以修改、添加或刪除鍵值對。
二、使用步驟
1.基本操作(增刪查改)
代碼如下(示例):
創建字典
dict1 = {'name': 'Alice', 'age': 25, 'city': 'Beijing'}
#創建空字典
dict2 = {}
print(dict2)
訪問字典元素
print(dict1['name']) # 輸出:Alice
修改字典元素
dict1['age'] = 26
print(dict1['age']) # 輸出:26
添加字典元素
dict1['gender'] = 'female'
print(dict1) # 輸出:{'name': 'Alice', 'age': 26, 'city': 'Beijing', 'gender': 'female'}
刪除字典元素
del dict1['city']
print(dict1) # 輸出:{'name': 'Alice', 'age': 26, 'gender': 'female'}、
判斷字典是否為空
if not dict1:print('字典為空') # 輸出:字典為空else:print('字典不為空') # 輸出:字典不為空
遍歷字典
for key in dict1:print(key, ':', dict1[key]) # 輸出:name : Alice、age : 26、gender : female
for k,v in dict1.items():print(k, ':', v) # 輸出:name : Alice、age : 26、gender : female
#dict()使用方法,里面的參數是2元組或者函數的參數
dict3 = dict(name='Bob', age=30, city='Shanghai')
print(dict3) # 輸出:{'name': 'Bob', 'age': 30, 'city': 'Shanghai'}
list1 = [('name', 'Tom'), ('age', 35), ('city', 'Guangzhou')]
dict4 = dict(list1)
print(dict4) # 輸出:{'name': 'Tom', 'age': 35, 'city': 'Guangzhou'}
2.常用方法
字典的常用方法
1.clear():清空字典
python dict1 = {'name': 'Alice', 'age': 25, 'city': 'Beijing'} dict1.clear() print(dict1) # 輸出:{}
2.copy():復制字典
dict1= {'name': 'Alice', 'age': 25, 'city': 'Beijing'}
dict2 = dict1.copy()
print(dict2) # 輸出:{'name': 'Alice', 'age': 25, 'city': 'Beijing'}
3.fromkeys():創建指定鍵的字典,是一個類方法,參數為序列或迭代器,默認參數是None
dict.fromkeys(['name', 'age', 'city'], 'unknown') # 輸出:{'name': 'unknown', 'age': 'unknown', 'city': 'unknown'}
d=dict.fromkeys(range(3))
print("d=",d)#輸出:d= {0: None, 1: None, 2: None}
4.get():獲取指定鍵的值
dict1 = {'name': 'Alice', 'age': 25, 'city': 'Beijing'}
print(dict1.get('name')) # 輸出:Alice
print(dict1.get('gender', 'unknown')) # 輸出:unknown,不存在返回默認值,沒有默認值返回None
5.items():以列表返回可遍歷的(鍵, 值) 元組數組
6.keys():以列表返回字典所有的鍵
7.values():以列表返回字典所有的值
dict1 = {'name': 'Alice', 'age': 25, 'city': 'Beijing'}
print(dict1.items()) # 輸出:dict_items([('name', 'Alice'), ('age', 25), ('city', 'Beijing')])
print(dict1.keys()) # 輸出:dict_keys(['name', 'age', 'city'])
print(dict1.values()) # 輸出:dict_values(['Alice', 25, 'Beijing'])
8.pop():刪除指定鍵的值,并返回該值
```python
dict1 = {'name': 'Alice', 'age': 25, 'city': 'Beijing'} print(dict1.pop('name')) # 輸出:Alice print(dict1) # 輸出:{'age': 25, 'city': 'Beijing'}
9.popitem():隨機刪除一個鍵-值對,并返回該鍵-值對
dict1 = {'name': 'Alice', 'age': 25, 'city': 'Beijing'}
print(dict1.popitem()) # 輸出:('city', 'Beijing')
print(dict1) # 輸出:{'name': 'Alice', 'age': 25}
10.setdefault():設置默認值
dict1 = {'name': 'Alice', 'age': 25, 'city': 'Beijing'}
print(dict1.setdefault('gender', 'unknown')) # 輸出:unknown
print(dict1) # 輸出:{'name': 'Alice', 'age': 25, 'city': 'Beijing', 'gend`er': 'unknown'}`
11.update():更新字典
dict1 = {'name': 'Alice', 'age': 25, 'city': 'Beijing'}
dict2 = {'gender': 'female'}
dict1.update(dict2)
print(dict1) # 輸出:{'name': 'Alice', 'age': 25, 'city': 'Beijing', 'gender': 'female'}
12.并集運算符 |
dict1 = {'name': 'Alice', 'age': 25, 'city': 'Beijing'}
dict2 = {'gender': 'female'}
dict3 = dict1 | dict2
print(dict3) # 輸出:{'name': 'Alice', 'age': 25, 'city': 'Beijing', 'gender': 'female'}
總結
字典的鍵必須是不可變對象,如字符串、數字、元組等,而值則可以是任意對象。
字典是一種可變容器,可以隨時添加、刪除或修改元素。
字典的鍵是通過哈希算法計算出來的,所以字典的查找速度非常快。
字典是一種映射類型,它的元素是鍵-值對。
字典的創建格式是{key1:value1, key2:value2,…, keyn:valuen}。
字典的鍵必須是不可變對象,而值可以是任意對象。
字典的鍵必須是唯一的,不能重復。
字典的鍵不能改變,但可以重新賦值。