Python-字典中的所有方法及用法

1.字典简介

在Python中,字典(dict)是一种非常强大的数据类型。字典可以存储键-值对,这些键-值对可以用于描述一些内容,比如人物的属性、学生的成绩等。字典中的键必须是不可变类型,如字符串、数字、元组等,而值可以是任意类型。

关于字典有以下几点需要注意:

字典中的键是唯一的,如果出现重复的键,后面的键值会覆盖前面的键值。

字典中的键必须是不可变类型,如字符串、数字、元组等。

字典中的值可以是任意类型。

2.创建字典

2.1 直接创建

使用大括号({})创建一个空字典,使用冒号(:)分隔键和值:

# 创建一个空字典

my_dict = {}

# 创建一个包含键值对的字典

my_dict = {'name': 'Tom', 'age': 20, 'gender': 'male'}

2.2 dict()函数

使用内置的dict()函数可以将其他类型的数据转换为字典:

# 将元组转换为字典

my_dict = dict([('name', 'Tom'), ('age', 20), ('gender', 'male')])

# 将列表转换为字典

my_dict = dict(['ab', 'cd', 'ef'])

3.字典操作

3.1 访问字典中的元素

访问字典中的元素可以使用键作为下标:

my_dict = {'name': 'Tom', 'age': 20, 'gender': 'male'}

# 访问字典中的元素

print(my_dict['name']) # 'Tom'

print(my_dict['age']) # 20

print(my_dict['gender']) # 'male'

如果访问不存在的键,会抛出KeyError异常:

my_dict = {'name': 'Tom', 'age': 20, 'gender': 'male'}

# 访问不存在的键,抛出KeyError异常

print(my_dict['height']) # KeyError: 'height'

3.2 修改字典中的元素

修改字典中的元素可以通过键来修改:

my_dict = {'name': 'Tom', 'age': 20, 'gender': 'male'}

# 修改字典中的元素

my_dict['name'] = 'Jerry'

my_dict['age'] = 21

# 修改后的字典

print(my_dict) # {'name': 'Jerry', 'age': 21, 'gender': 'male'}

3.3 添加字典中的元素

添加字典中的元素可以通过赋值来添加:

my_dict = {'name': 'Tom', 'age': 20, 'gender': 'male'}

# 添加字典中的元素

my_dict['height'] = 175

# 添加后的字典

print(my_dict) # {'name': 'Tom', 'age': 20, 'gender': 'male', 'height': 175}

3.4 删除字典中的元素

删除字典中的元素可以使用del语句:

my_dict = {'name': 'Tom', 'age': 20, 'gender': 'male'}

# 删除字典中的元素

del my_dict['age']

# 删除后的字典

print(my_dict) # {'name': 'Tom', 'gender': 'male'}

4.字典方法

4.1 clear()方法

clear()方法用于清空字典中的所有元素:

my_dict = {'name': 'Tom', 'age': 20, 'gender': 'male'}

# 清空字典中的所有元素

my_dict.clear()

# 清空后的字典

print(my_dict) # {}

4.2 copy()方法

copy()方法用于复制字典中的所有元素,返回一个新的字典:

my_dict = {'name': 'Tom', 'age': 20, 'gender': 'male'}

# 复制字典中的所有元素

new_dict = my_dict.copy()

# 新的字典

print(new_dict) # {'name': 'Tom', 'age': 20, 'gender': 'male'}

注意,通过copy()方法复制的字典是一个新对象,而不是原对象的引用。

4.3 fromkeys()方法

fromkeys()方法用于创建一个新字典,并将指定的键和统一的值添加到字典中:

# 创建一个新字典

my_dict = {}

# 添加键值对

my_dict = my_dict.fromkeys(['name', 'age', 'gender'], 'unknown')

# 新的字典

print(my_dict) # {'name': 'unknown', 'age': 'unknown', 'gender': 'unknown'}

注意,所有的键都会被赋予同一个值,如果需要为不同的键赋不同的值,可以使用循环为每个键赋值。

4.4 get()方法

get()方法用于获取字典中指定键的值,如果键不存在,则返回默认值(默认为None):

my_dict = {'name': 'Tom', 'age': 20, 'gender': 'male'}

# 获取字典中指定键的值

print(my_dict.get('name')) # 'Tom'

print(my_dict.get('height')) # None

# 获取字典中不存在的键的值,返回指定的默认值

print(my_dict.get('height', 175)) # 175

4.5 items()方法

items()方法用于返回字典中所有的键值对,返回的结果是一个包含键值对的元组序列。

my_dict = {'name': 'Tom', 'age': 20, 'gender': 'male'}

# 获取字典中的所有键值对

print(my_dict.items()) # dict_items([('name', 'Tom'), ('age', 20), ('gender', 'male')])

可以使用循环遍历,获取所有键值对的键和值:

my_dict = {'name': 'Tom', 'age': 20, 'gender': 'male'}

# 使用循环遍历所有的键值对

for key, value in my_dict.items():

print(key, value)

# 打印输出

# name Tom

# age 20

# gender male

4.6 keys()方法

keys()方法用于返回字典中所有的键:

my_dict = {'name': 'Tom', 'age': 20, 'gender': 'male'}

# 获取字典中的所有键

print(my_dict.keys()) # dict_keys(['name', 'age', 'gender'])

可以使用循环遍历,获取所有的键:

my_dict = {'name': 'Tom', 'age': 20, 'gender': 'male'}

# 使用循环遍历所有的键

for key in my_dict.keys():

print(key)

# 打印输出

# name

# age

# gender

4.7 pop()方法

pop()方法用于删除指定的键,返回键对应的值,如果键不存在,则抛出KeyError异常:

my_dict = {'name': 'Tom', 'age': 20, 'gender': 'male'}

# 删除指定的键,返回键对应的值

value = my_dict.pop('age')

# 删除后的字典和返回的键值

print(my_dict) # {'name': 'Tom', 'gender': 'male'}

print(value) # 20

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

my_dict.pop('height') # KeyError: 'height'

4.8 popitem()方法

popitem()方法用于随机删除字典中的一个键值对,并将这个键值对以元组的形式返回。如果字典为空,则抛出KeyError异常。

my_dict = {'name': 'Tom', 'age': 20, 'gender': 'male'}

# 随机删除字典中的一个键值对,返回一个元组

key, value = my_dict.popitem()

# 删除后的字典和返回的键值对

print(my_dict) # {'name': 'Tom', 'age': 20}

print(key, value) # 'gender' 'male'

# 如果字典为空,抛出KeyError异常

empty_dict = {}

empty_dict.popitem() # KeyError: 'popitem(): dictionary is empty'

4.9 setdefault()方法

setdefault()方法用于返回指定键的值,如果键不存在,则添加该键,并将默认值作为该键的值:

my_dict = {'name': 'Tom', 'age': 20, 'gender': 'male'}

# 返回指定键的值

print(my_dict.setdefault('name')) # 'Tom'

print(my_dict.setdefault('height', 175)) # 175

# 字典中新增了一个键值对

print(my_dict) # {'name': 'Tom', 'age': 20, 'gender': 'male', 'height': 175}

4.10 update()方法

update()方法用于将一个字典的键值对更新到另一个字典中:

my_dict = {'name': 'Tom', 'age': 20, 'gender': 'male'}

new_dict = {'height': 175, 'weight': 65}

# 将一个字典的键值对更新到另一个字典中

my_dict.update(new_dict)

# 更新后的字典

print(my_dict) # {'name': 'Tom', 'age': 20, 'gender': 'male', 'height': 175, 'weight': 65}

4.11 values()方法

values()方法用于返回字典中所有的值:

my_dict = {'name': 'Tom', 'age': 20, 'gender': 'male'}

# 返回字典中所有的值

print(my_dict.values()) # dict_values(['Tom', 20, 'male'])

可以使用循环遍历,获取所有的值:

my_dict = {'name': 'Tom', 'age': 20, 'gender': 'male'}

# 使用循环遍历所有的值

for value in my_dict.values():

print(value)

# 打印输出

# Tom

# 20

# male

5.总结

本文介绍了Python字典的基本操作和常用方法,包括创建字典、访问、修改、添加、删除、以及字典的常用方法,如clear()、copy()、fromkeys()、get()、items()、keys()、pop()、popitem()、setdefault()和update()。通过学习本文,读者应该已经了解了Python字典的基本用法和常用方法。

后端开发标签