3.4 字典(Dictionary)

字典(Dictionary)是 Python 中另一个非常有用的数据结构,它是一个无序的键值对(key-value pair)集合。字典使用大括号 {} 表示,其中的键值对用冒号 : 分隔,键值对间用逗号 , 分隔。字典中的键必须是不可变类型,例如整数、浮点数、字符串、元组等。字典中的值可以是任意类型。

3.4.1 创建字典

创建字典的方法有两种:

  1. 使用大括号 {} 包含键值对,例如:
person = {"name": "Alice", "age": 30, "city": "New York"}
print(person)
# 输出:{'name': 'Alice', 'age': 30, 'city': 'New York'}
  1. 使用 dict() 函数创建空字典或将其他序列转换为字典,例如:
empty_dict = dict()
print(empty_dict)  # 输出:{}

key_value_list = [("name", "Alice"), ("age", 30), ("city", "New York")]
person = dict(key_value_list)
print(person)
# 输出:{'name': 'Alice', 'age': 30, 'city': 'New York'}

3.4.2 访问字典元素

访问字典元素的方法有两种:

  1. 使用键作为下标,例如:
person = {"name": "Alice", "age": 30, "city": "New York"}
print(person["name"])  # 输出:Alice

如果键不存在,会抛出 KeyError 异常。

  1. 使用 get() 方法,如果键不存在,返回一个默认值(可选),例如:
person = {"name": "Alice", "age": 30, "city": "New York"}
print(person.get("name"))  # 输出:Alice
print(person.get("country", "USA"))  # 输出:USA

3.4.3 修改字典元素

修改字典元素的值,直接使用键作为下标并赋予新值,例如:

person = {"name": "Alice", "age": 30, "city": "New York"}
person["age"] = 31
print(person)
# 输出:{'name': 'Alice', 'age': 31, 'city': 'New York'}

3.4.4 添加和删除字典元素

  • 添加元素:使用不存在的键作为下标并赋予新值。
person = {"name": "Alice", "age": 30, "city": "New York"}
person["country"] = "USA"
print(person)
# 输出:{'name': 'Alice', 'age': 30, 'city': 'New York', 'country': 'USA'}
  • 删除元素:使用 del 语句和键作为下标。
person = {"name": "Alice", "age": 30, "city": "New York"}
del person["age"]
print(person)  # 输出:{'name': 'Alice', 'city': 'New York'}

如果键不存在,会抛出 KeyError 异常。

3.4.5 字典常用方法

  • keys():返回字典中所有键的视图。
person = {"name": "Alice", "age": 30, "city": "New York"}
keys = person.keys()
print(keys)  # 输出:dict_keys(['name', 'age', 'city'])
  • values():返回字典中所有值的视图。
person = {"name": "Alice", "age": 30, "city": "New York"}
values = person.values()
print(values)  # 输出:dict_values(['Alice', 30, 'New York'])
  • items():返回字典中所有键值对的视图。
person = {"name": "Alice", "age": 30, "city": "New York"}
items = person.items()
print(items)

输出:
dict_items([('name', 'Alice'), ('age', 30), ('city', 'New York')])

  • update():用一个字典更新另一个字典,如果键已经存在,则更新值;如果键不存在,则添加键值对。
person = {"name": "Alice", "age": 30, "city": "New York"}
new_info = {"age": 31, "country": "USA"}
person.update(new_info)
print(person)
# 输出:{'name': 'Alice', 'age': 31, 'city': 'New York', 'country': 'USA'}
  • pop():删除并返回指定键的值,如果键不存在,返回默认值(可选)。
person = {"name": "Alice", "age": 30, "city": "New York"}
age = person.pop("age")
print(age)  # 输出:30
print(person)  # 输出:{'name': 'Alice', 'city': 'New York'}
  • popitem():删除并返回字典中的一个键值对(Python3.7+,返回最后一个键值对;Python3.6及之前版本,返回随机键值对)。
person = {"name": "Alice", "age": 30, "city": "New York"}
item = person.popitem()
print(item)  # 输出:('city', 'New York')
print(person)  # 输出:{'name': 'Alice', 'age': 30}
  • clear():删除字典中所有元素。
person = {"name": "Alice", "age": 30, "city": "New York"}
person.clear()
print(person)  # 输出:{}

3.4.6 遍历字典

遍历字典的方法有两种:

  1. 遍历键:
person = {"name": "Alice", "age": 30, "city": "New York"}
for key in person:
print(key, person[key])

或者使用 keys() 方法:

person = {"name": "Alice", "age": 30, "city": "New York"}
for key in person.keys():
print(key, person[key])
  1. 遍历键值对:
person = {"name": "Alice", "age": 30, "city": "New York"}
for key, value in person.items():
print(key, value)

希望这些示例能帮助你更好地理解和学习 Python 字典。如果有任何问题,请随时提问!
推荐阅读:

https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA

https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g

file

你可能感兴趣的:(人工智能)