首頁 > 軟體

Python基礎之字典的詳細使用教學

2022-07-13 14:01:56

一. 什麼是字典

字典作為Python的一個內建資料結構,和列表一樣都是可變序列的,但是它是無序的,以鍵值對的方式儲存資料。

二. 建立字典

建立字典的兩種方式,一種使用{ } 另一種使用內建函數dict()

# author: 爪哇鬥羅(javaDouLuo)
# date: 2022/7/11 22:51
 
# 字典的建立
dict01={"A": 1, "B": 2, "C": 3}
# {'A': 1, 'B': 2, 'C': 3}
print(dict01)
dict02=dict(a=1, b=2,name="zs")
# {'a': 1, 'b': 2, 'name': 'zs'}
print(dict02)

三. 字典元素獲取

獲取字典元素有兩種,通過[]或者get()方法獲取,兩者的區別就是前者當key不存在會丟擲異常,後者不會丟擲異常,會返回None

# author: 爪哇鬥羅(javaDouLuo)
# date: 2022/7/11 22:51
 
# 字典的建立
dict01 = {"A": 1, "B": 2, "C": 3}
 
# 字典的元素獲取
# 1
print(dict01["A"])
# 3
print(dict01.get("C"))
# KeyError: 'D'
# print(dict01["D"])

四. 字典元素的增刪改操作

使用not in與 in判斷字典元素中的key是否存在,這一點與列表的用法是相同的。當然也可以對字典中的元素進行增刪改的操作。

刪除鍵值對使用del, 增加字典元素與修改字典元素的操作是一樣的,就是有key與無key的區別。

# author: 爪哇鬥羅(javaDouLuo)
# date: 2022/7/11 22:51
 
# 字典的建立
dict01 = {"A": 1, "B": 2, "C": 3}
 
# True
print("A" in dict01)
# False
print("A" not in dict01)
 
# 刪除 B
del dict01["B"]
# {'A': 1, 'C': 3}
print(dict01)
# 增加元素 D
dict01["D"]=4
# {'A': 1, 'C': 3, 'D': 4}
print(dict01)
# 修改D的值
dict01["D"]=40
# {'A': 1, 'C': 3, 'D': 40}
print(dict01)

五. 字典的檢視操作

通過keys(),values(),items()可以分別獲取字典中的所有鍵,所有值,所有鍵值對。

# author: 爪哇鬥羅(javaDouLuo)
# date: 2022/7/11 22:51
 
# 字典的建立
dict01 = {"A": 1, "B": 2, "C": 3}
 
# 獲取所有的key
keys = dict01.keys()
# 型別為 <class 'dict_keys'>
print(type(keys))
# dict_keys(['A', 'B', 'C'])
print(keys)
# 轉化為列表 ['A', 'B', 'C']
print(list(keys))
 
# 獲取所有的value
values = dict01.values()
# 型別為 <class 'dict_values'>
print(type(values))
# dict_values([1, 2, 3])
print(values)
# 轉化為列表 [1, 2, 3]
print(list(values))
 
# 獲取所有的鍵值對
items = dict01.items()
# <class 'dict_items'>
print(type(items))
# dict_items([('A', 1), ('B', 2), ('C', 3)])
print(items)
# 元組的資料結構 [('A', 1), ('B', 2), ('C', 3)]
print(list(items))

當然也可以使用以下的方式去遍歷字典元素:

# author: 爪哇鬥羅(javaDouLuo)
# date: 2022/7/11 22:51
 
# 字典的建立
dict01 = {"A": 1, "B": 2, "C": 3}
 
# A 1 1
# B 2 2
# C 3 3
for item in dict01:
    print(item,dict01[item],dict01.get(item))

字典的總結如下:

字典中的key不允許重複,value可以

其中key為不可變物件

字典中的元素是無序的

字典根據需要動態伸縮,但字典會浪費較多的記憶體空間

到此這篇關於Python基礎之字典的詳細使用教學的文章就介紹到這了,更多相關Python字典內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com