当我们需要在 Python 中存储和访问键值对数据时,最好使用字典。在下面的代码示例中,我将介绍 Python 字典的各种用法和实例。
创建字典
可以使用花括号 {} 或 dict() 函数来创建一个空字典。下面的代码示例演示如何创建字典:
# 创建空字典
empty_dict = {}
print(empty_dict)
# 使用字面量创建字典
person_dict = {"name": "Alice", "age": 25, "city": "New York"}
print(person_dict)
# 使用 dict() 函数创建字典
fruit_dict = dict(apple=3, banana=2, cherry=5)
print(fruit_dict)
访问字典元素
可以通过键来访问字典中的元素。如果键不存在,Python 将引发 KeyError 异常。下面的代码示例演示如何访问字典元素:
person_dict = {"name": "Alice", "age": 25, "city": "New York"}
# 通过键访问字典元素
print(person_dict["name"])
print(person_dict["age"])
print(person_dict["city"])
# 尝试访问不存在的键会引发 KeyError 异常
# print(person_dict["gender"])
添加和更新字典元素
可以使用赋值运算符或 update() 方法向字典中添加或更新元素。如果键不存在,将添加新元素;如果键已经存在,将更新现有值。下面的代码示例演示如何添加和更新字典元素:
fruit_dict = {"apple": 3, "banana": 2, "cherry": 5}
# 添加新元素
fruit_dict["orange"] = 4
print(fruit_dict)
# 更新现有值
fruit_dict["banana"] = 7
print(fruit_dict)
# 使用 update() 方法添加多个元素
fruit_dict.update({"pear": 6, "kiwi": 8})
print(fruit_dict)
删除字典元素
可以使用 del 关键字或 pop() 方法从字典中删除元素。如果键不存在,将引发 KeyError 异常。下面的代码示例演示如何删除字典元素:
fruit_dict = {"apple": 3, "banana": 2, "cherry": 5}
# 删除指定键的元素
del fruit_dict["banana"]
print(fruit_dict)
# 使用 pop() 方法删除指定键的元素
fruit_dict.pop("cherry")
print(fruit_dict)
# 尝试删除不存在的键会引发 KeyError 异常
# del fruit_dict["orange"]
# fruit_dict.pop("orange")
字典遍历
可以使用 for 循环遍历字典中的键、值或键值对。下面的代码示例演示如何遍历字典:
fruit_dict = {"apple": 3, "banana": 2, "cherry": 5}
# 遍历键
for key in fruit_dict:
print(key)
# 遍历值
for value in fruit_dict.values():
print(value)
# 遍历键值对
for key, value in fruit_dict.items():
print(key, value)
字典推导式
可以使用字典推导式来创建新字典,该字典基于现有字典的筛选或转换。下面的代码示例演示如何使用字典推导式:
fruit_dict = {"apple": 3, "banana": 2, "cherry": 5}
# 筛选出数量大于 3 的水果
filtered_dict = {"apple": 3,
key: value for key, value in fruit_dict.items() if value > 3}
print(filtered_dict)
# 将所有水果数量乘以 2
multiplied_dict = {key: value * 2 for key, value in fruit_dict.items()}
print(multiplied_dict)
Python中的字典(dictionary)是一种非常常用的数据结构,它可以存储一系列的键值对,其中每个键都是唯一的。字典是一种可变的数据类型,可以动态地添加、删除和修改键值对。以下是Python字典的一些高阶用法:
字典的键值对交换
可以使用以下方法交换字典的键和值:
my_dict = {'apple': 1, 'banana': 2, 'orange': 3}
new_dict ={value: key for key, value in my_dict.items()}
print(new_dict)
# 输出:{1: 'apple', 2: 'banana', 3: 'orange'}
字典的排序
字典本身是没有顺序的,但是可以通过以下方法对字典的键或值进行排序:
# 按照键排序
my_dict = {'apple': 1, 'banana': 2, 'orange': 3}
sorted_dict = {key: my_dict[key] for key in sorted(my_dict)}
print(sorted_dict)
# 输出:{'apple': 1, 'banana': 2, 'orange': 3}
# 按照值排序
my_dict = {'apple': 1, 'banana': 2, 'orange': 3}
sorted_dict = {key: value for key, value in sorted(my_dict.items(), key=lambda item: item[1])}
print(sorted_dict)
# 输出:{'apple': 1, 'banana': 2, 'orange': 3}
字典的合并
可以使用update()方法将一个字典合并到另一个字典中:
dict1 = {'apple': 1, 'banana': 2}
dict2 = {'orange': 3, 'pear': 4}
dict1.update(dict2)
print(dict1)
# 输出:{'apple': 1, 'banana': 2, 'orange': 3, 'pear': 4}
字典的过滤
可以使用以下方法对字典进行过滤,只保留符合条件的键值对:
my_dict = {'apple': 1, 'banana': 2, 'orange': 3}
filtered_dict = {key: value for key, value in my_dict.items() if value > 1}
print(filtered_dict)
# 输出:{'banana': 2, 'orange': 3}
字典的默认值
如果字典中不存在某个键,可以使用以下方法设置一个默认值:
my_dict = {'apple': 1, 'banana': 2}
print(my_dict.get('orange', 0))
# 输出:0
以上是Python字典的一些高阶用法。字典是一种非常方便的数据结构,在Python中被广泛应用。掌握了以上高阶用法,可以更加高效地使用字典,并在实际开发中发挥更大的作用。
以上是 Python 字典的基本用法和示例。希望这些例子能帮助您更好地了解 Python 字典的使用方法。