字典(Dictionary)

创建字典

# 方式1:使用花括号 {} 和键值对
dict1 = {"name": "Alice", "age": 20, "city": "Beijing"}

# 方式2:使用 dict() 构建函数,这种方式要求键是有效的标识符(通常是字符串)
dict2 = dict(name="Alice", age=20, city="Beijing")

# 方式3:使用键值对的序列(如列表或元组)
dict3 = dict([("name", "Alice"), ("age", 20), ("city", "Beijing")])
dict4 = dict(zip(["name", "age", "city"], ["Alice", 20, "Beijing"]))

# 方式4:创建空字典
empty_dict1 = {}
empty_dict2 = dict()

访问字典元素

使用方括号[]get()方法。

# 方式1: 使用 []
print(person['name']) # 输入:Alice
# print(person["height"])  # KeyError: 'height' (键不存在时会报错)

# 方式2: 使用 get() 方法(推荐,更安全)
print(person.get("name"))   # 输出:Alice
print(person.get("height")) # 输出:None (键不存在时返回 None)
print(person.get("height", "Unknown")) # 输出:Unknown (可以指定默认值)

检查键是否存在:使用in关键字

修改和添加元素

删除元素

  • del 语句:删除指定键的键值对。

  • pop()方法:删除指定键的键值对,并返回其值。

  • popitem()方法:删除并返回字典中的最后一个键值对。

  • clear()方法:清空整个字典,使其成为空字典。

字典的遍历(迭代)

可以遍历字典的键、值或者键值对。

常用方法

方法/函数
说明
示例

len(dict)

返回字典中键值对的数量

len(scores) -> 3

dict.keys()

返回一个包含所有键的视图对象 (dict_keys)

scores.keys() -> dict_keys(['Math', 'English', 'Science'])

dict.values()

返回一个包含所有值的视图对象 (dict_values)

scores.values() -> dict_values([95, 88, 92])

dict.items()

返回一个包含所有键值对的视图对象 (dict_items)

scores.items() -> dict_items([('Math', 95), ('English', 88), ('Science', 92)])

dict.get(key, default)

获取键对应的值,如果键不存在则返回 default

scores.get("History", 0) -> 0

dict.pop(key, default)

删除键并返回其值,如果键不存在则返回 default

scores.pop("English") -> 88

dict.popitem()

删除并返回最后一个键值对

scores.popitem() -> ('Science', 92)

dict.update(other)

用另一个字典或可迭代对象更新当前字典

scores.update({"Art": 90})

dict.clear()

清空字典

scores.clear()

dict.copy()

返回字典的浅拷贝

new_scores = scores.copy()

字典推导式

类似于列表推导式,提供了一种简洁的方式来创建新字典

嵌套字典

最后更新于