2.1 獲取元素的數量
在 Python 中,要獲取字典中的元素數量,可以使用內建的 函數 len()
。這個函數返回字典中的鍵值對數量。或者說,是鍵的數量。
函數使用範例:
person = {"name": "Alice", "age": 25, "city": "New York"}
num_elements = len(person)
print(num_elements) # 輸出: 3
在這個範例中,我們有一個包含三個元素的字典 person
。函數
len(person)
返回字典中的元素數量,也就是 3。
檢查字典是否為空
你可以使用函數 len()
來檢查字典是否為空。這在條件和循環中非常有用。
empty_dict = {}
print(len(empty_dict)) # 輸出: 0
person = {"name": "Alice", "age": 25, "city": "New York"}
if len(person) > 0:
print("字典不為空")
else:
print("字典為空")
帶嵌套結構的字典
函數 len()
只考慮頂層鍵的數量,不管裡面的值是什麼。
complex_dict = {
name: "Alice",
details: {
age: 25,
city: "New York"
},
hobbies: ["reading", "traveling"]
}
print(len(complex_dict)) # 輸出: 3
在這個範例中,我們有一個帶有嵌套資料結構的字典。
len(complex_dict)
返回的數量是3,因為在頂層有三個鍵:"name"、
"details"和"hobbies"。
len()
忽略了在嵌套資料結構中的鍵,
像是 "age" 和 "city"
在字典 "details" 裡,因為
len()
只計算頂層鍵的數量。如果你需要計算所有元素的數量,
包括嵌套結構,就必須使用遞歸的方法。不過這點今天先不說。
2.2 判定類型
函數 type()
在 Python 中用來判定物件的類型。當處理字典時
type()
能辨識物件是 dict
類別的實例。這在不同情境下可能是有用的,像是做一些操作前檢查資料類型。
使用範例:
檢查物件類型
person = {"name": "Alice", "age": 25, "city": "New York"}
print(type(person)) # 輸出: <class 'dict'>
在這個範例中,我們建立了一個字典 person
並用
type
來判斷它的類型。函數返回 <class
'dict'>
,指出 person
是一個字典。
條件檢查資料類型
函數 type()
可以用在條件表達式中檢查資料類型,這樣可以只對 dict
類型的物件進行特定操作。
data = {"name": "Alice", "age": 25, "city": "New York"}
if type(data) is dict:
print("這是一個字典。")
else:
print("這不是一個字典。")
在這個範例中,條件表達式檢查 data
是否為字典,並運行相應的代碼。
函數 type()
可以在自定義函數中用於檢查參數的類型,
以確保函數處理的是正確的資料類型。
範例:
def process_data(data):
if type(data) is dict:
print("處理字典...")
# 對字典進行操作
else:
print("錯誤:預期為字典。")
data = {"name": "Alice", "age": 25, "city": "New York"}
process_data(data)
在這個範例中,函數 process_data
檢查參數 data
是否為字典,並只對字典進行相應操作。
2.3 獲取元素
操作字典的元素跟操作列表或元組類似,也是用方括號。只不過這次方括號裡面寫的是鍵而不是索引。字典的鍵可以是任何不改變的東西:字串、數字或比如說元組。
字典[鍵]
範例:
person = {"name": "Alice", "age": 25, "city": "New York"}
name = person["name"]
print(name) # 輸出: Alice
如果鍵不存在,就會出錯:
person = {"name": "Alice", "age": 25, "city": "New York"}
person["country"] # 出錯 KeyError: 'country'
方法 get(key, def_value)
方法 get()
可以安全地通過鍵獲取值。如果鍵不存在,方法返回默認值(如果未指定默認值,則為 None
)。這可以防止拋出 KeyError
異常。
person = {"name": "Alice", "age": 25, "city": "New York"}
age = person.get("age")
print(age) # 輸出: 25
country = person.get("country", "USA")
print(country) # 輸出: USA
方法 get()
的第二個參數可以指定在字典中沒有需要的鍵時返回的值。
方法 setdefault()
的操作類似於 get()
,但是如果鍵不存在,這個方法不僅返回默認值,還會在字典中新增一個 鍵: 值
的組合。
person = {"name": "Alice", "age": 25}
city = person.setdefault("city", "New York")
print(city) # 輸出: New York
print(person) # 輸出: {'name': 'Alice', 'age': 25, 'city': 'New York'}
GO TO FULL VERSION