Python基础介绍 | 字典Dictionaries

Python基础介绍 | 字典Dictionaries
最新回答
如梦如幻

2023-10-19 13:08:36

Python中的字典(Dictionaries)是一种通过键值对(key-value pairs)存储数据的数据结构,使用大括号{}表示,具有快速查找、修改和灵活管理的特点。

字典的创建与初始化
  • 创建空字典:使用{}或dict()函数。

    empty_dict = {}empty_dict_via_dict = dict()
  • 初始化带内容的字典:直接在大括号内定义键值对,或通过dict()函数传入键值对参数。

    person = {"name": "Alice", "age": 25}person_via_dict = dict(name="Bob", age=30)

获取字典内容
  • 获取所有键(keys):使用keys()方法返回键的视图对象。

    keys = person.keys() # 输出: dict_keys(['name', 'age'])
  • 获取所有值(values):使用values()方法返回值视图对象。

    values = person.values() # 输出: dict_values(['Alice', 25])
  • 遍历键值对:使用items()方法返回键值对的视图对象。

    for key, value in person.items(): print(f"{key}: {value}")
  • 通过键获取值:直接使用键作为索引,若键不存在会引发KeyError。

    name = person["name"] # 输出: 'Alice'
  • 安全获取值:使用get(key, default)方法,若键不存在返回None或指定的默认值。

    city = person.get("city", "Unknown") # 输出: 'Unknown'
修改与更新字典
  • 修改值:通过键直接赋值,若键存在则更新值。

    person["age"] = 26
  • 添加键值对:若键不存在,直接赋值会新增条目。

    person["city"] = "New York"
  • 批量更新:使用update()方法合并另一个字典或键值对序列。

    person.update({"age": 27, "job": "Engineer"})

  • 设置默认值:使用setdefault(key, default)方法,若键不存在则添加并设置默认值。

    country = person.setdefault("country", "USA") # 输出: 'USA'
删除字典内容
  • 删除指定键值对:使用del语句或pop(key, default)方法。

    del person["city"] # 直接删除age = person.pop("age") # 删除并返回值job = person.pop("nonexistent", "Default Job") # 键不存在时返回默认值

  • 清空字典:使用clear()方法移除所有条目。

    person.clear()
字典的复制与独立性
  • 浅拷贝问题:直接赋值会导致两个变量指向同一字典,修改会互相影响。

    original = {"a": 1}copy = originalcopy["a"] = 2 # original["a"] 也会变为 2

  • 独立复制:使用dict()函数或copy()方法创建新字典。

    independent_copy = dict(original) # 或 original.copy()
注意事项
  • 键的唯一性:字典的键必须唯一,重复键会覆盖原有值。
  • 键的不可变性:键必须是不可变类型(如字符串、数字、元组),不可使用列表或字典作为键。
  • 错误处理:访问不存在的键时,优先使用get()或pop()的默认值参数避免KeyError。