Python dict的常用方法示例代码

1. 创建字典

在Python中,字典是一种非常常用的数据结构,它由键和值组成,每个键和它的值之间用冒号分隔,每对键值之间用逗号分隔,并放在花括号{}中。创建空字典可以使用空花括号{},也可以使用dict()函数。如果想要创建有值的字典,则需要在花括号中指定键值,具体操作代码如下:

# 创建空字典

empty_dict = {}

print(empty_dict)

# 使用dict()函数创建空字典

empty_dict = dict()

print(empty_dict)

# 创建有值的字典

my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}

print(my_dict)

以上代码的输出结果分别为:

{}

{}

{'name': 'Alice', 'age': 20, 'gender': 'female'}

2. 访问字典中的值

访问字典中的值,可以通过键来获取相应的值。如果访问不存在的键,则会抛出KeyError异常。例如,访问上一节中创建的my_dict字典中的'name'键对应的值,代码如下:

print(my_dict['name'])

以上代码的输出结果为:

Alice

2.1 get方法获取值

此外,还可以使用get()方法来获取字典中的值。get()方法的优势在于,如果访问的键不存在,它会返回一个默认值None,而不是抛出KeyError异常。get()方法还可以接收一个可选参数,用于指定键不存在时返回的默认值。例如,如果想获取my_dict字典中'name'对应的值,代码如下:

print(my_dict.get('name'))

以上代码的输出结果同样为:

Alice

如果访问一个不存在的键,可以指定一个默认值。例如:

print(my_dict.get('address', 'unknown'))

以上代码的输出结果为:

unknown

2.2 keys和values方法

除了通过键访问字典中的值之外,还可以使用keys()和values()方法分别获取字典中所有的键和值,将它们分别转化为一个列表,代码如下:

print(my_dict.keys())

print(my_dict.values())

以上代码的输出结果分别为:

dict_keys(['name', 'age', 'gender'])

dict_values(['Alice', 20, 'female'])

3. 添加和修改字典中的值

要添加或修改字典中的值,可以直接通过键来给字典赋值。如果键不存在,则会添加一个新的键值对;如果键已存在,则会修改该键对应的值。具体操作代码如下:

# 添加新的键值对

my_dict['address'] = 'Beijing'

print(my_dict)

# 修改键对应的值

my_dict['age'] = 21

print(my_dict)

以上代码的输出结果分别为:

{'name': 'Alice', 'age': 20, 'gender': 'female', 'address': 'Beijing'}

{'name': 'alice', 'age': 21, 'gender': 'female', 'address': 'Beijing'}

4. 删除字典中的值

删除字典中的值,可以使用del关键字。具体操作代码如下:

# 删除指定键值对

del my_dict['address']

print(my_dict)

# 清空字典

my_dict.clear()

print(my_dict)

以上代码的输出结果分别为:

{'name': 'Alice', 'age': 20, 'gender': 'female'}

{}

5. 字典的遍历

遍历字典中的键值对,可以使用items()方法。items()方法返回一个由所有键值对组成的元组列表。遍历时,可以使用for循环对每个键值对进行操作。具体操作代码如下:

my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}

for key, value in my_dict.items():

print(key, '=', value)

以上代码的输出结果为:

name = Alice

age = 20

gender = female

6. 字典的复制

复制一个字典,可以使用copy()方法。copy()方法返回一个字典的副本,与原字典完全独立,并且对复制后的字典的操作不会影响原字典。具体操作代码如下:

# 复制字典

my_dict1 = {'name': 'Alice', 'age': 20, 'gender': 'female'}

my_dict2 = my_dict1.copy()

# 修改副本字典的值

my_dict2['name'] = 'Bob'

# 原字典的值不会受到影响

print(my_dict1)

print(my_dict2)

以上代码的输出结果分别为:

{'name': 'Alice', 'age': 20, 'gender': 'female'}

{'name': 'Bob', 'age': 20, 'gender': 'female'}

7. 字典推导式

字典推导式是Python中比较高级的特性之一。它允许使用简单的表达式来创建新的字典,而不需要编写传统的for循环来逐个添加键值对。具体操作代码如下:

# 创建一个包含平方值的字典

squares = {key: key**2 for key in range(1, 11)}

print(squares)

# 创建一个只包含偶数键的字典

even_dict = {num: num**2 for num in squares if num % 2 == 0}

print(even_dict)

以上代码的输出结果分别为:

{1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100}

{2: 4, 4: 16, 6: 36, 8: 64, 10: 100}

总结

在本文中,我们介绍了Python中字典的常用方法。包括创建字典、访问字典中的值、添加和修改字典中的值、删除字典中的值、字典的遍历、字典的复制和字典推导式。字典是一种非常强大且常用的数据类型,在日常的编程中,我们需要熟练掌握这些操作方法,才能更高效地完成相关任务。

后端开发标签