一、Python字典的概念
Python dict(字典)是Python中用于存储键值对的一种数据类型。其中,键必须为不可变类型(如字符串、数字等),值可以为任意类型。字典是Python中唯一的映射类型,它可以用于存储和快速查找一组与特定键相关联的值。
通过使用字典,我们可以更加高效地处理键值对数据。它可以提供 O(1) 的时间复杂度的查找和插入操作,使得处理大量的键值对数据变得轻而易举。
二、Python字典的基本用法
1、创建Python字典:使用大括号 {} 或 dict() 函数创建,其中,大括号内部可以包含一组键值对。
# 使用大括号创建字典
my_dict = {'name': '小明', 'age': 18, 'gender': '男'}
# 使用 dict() 函数创建字典
my_dict = dict(name='小明', age=18, gender='男')
2、访问Python字典:使用中括号 [] 加上键名来访问字典中的值。
my_dict = {'name': '小明', 'age': 18, 'gender': '男'}
print(my_dict['name']) # 输出:小明
3、修改Python字典:使用中括号 [] 加上键名来修改字典中的值。
my_dict = {'name': '小明', 'age': 18, 'gender': '男'}
my_dict['age'] = 19
print(my_dict) # 输出:{'name': '小明', 'age': 19, 'gender': '男'}
4、添加Python字典:使用中括号 [] 加上新键名以及对应的值来添加新的键值对。
my_dict = {'name': '小明', 'age': 18, 'gender': '男'}
my_dict['email'] = 'xiaoming@qq.com'
print(my_dict) # 输出:{'name': '小明', 'age': 18, 'gender': '男', 'email': 'xiaoming@qq.com'}
5、删除Python字典:使用 del 语句加上中括号 [] 加上键名来删除特定的键值对。
my_dict = {'name': '小明', 'age': 18, 'gender': '男'}
del my_dict['gender']
print(my_dict) # 输出:{'name': '小明', 'age': 18}
三、Python字典的高级用法
1、Python字典的遍历方式
Python中可以使用 for 循环来遍历字典中的所有键值对。
my_dict = {'name': '小明', 'age': 18, 'gender': '男'}
# 遍历所有键值对
for key, value in my_dict.items():
print(key, ":", value)
# 遍历所有的键
for key in my_dict.keys():
print(key)
# 遍历所有的值
for value in my_dict.values():
print(value)
2、Python字典的复杂结构
在 Python 中,字典也可以嵌套其他的数据结构,例如列表、元组等。
# 嵌套列表
my_dict = {'name': '小明', 'scores': [90, 80, 95]}
# 嵌套元组
my_dict = {'name': '小明', 'scores': (90, 80, 95)}
# 嵌套字典
my_dict = {'name': '小明', 'info': {'age':18, 'gender':'男'}}
3、Python字典的高级操作
Python字典还可以使用一些内置函数和方法,来达到更加高效地操作字典的效果。
A、setdefault() 函数:获取指定键名的值,如果不存在则添加一个默认值。
my_dict = {'name': '小明', 'age': 18}
# 获取键值对,如果不存在则添加一个默认值
my_dict.setdefault('gender', '男') # 对应的键值对为 {'gender': '男'}
B、update() 函数:更新一个字典,将另一个字典中的所有键值对添加到这个字典中。如果键名相同,则最新的值会覆盖之前的值。
my_dict1 = {'name': '小明', 'age': 18, 'gender': '男'}
my_dict2 = {'age': 19, 'email': 'xiaoming@qq.com'}
# 将 my_dict2 中的所有键值对添加到 my_dict1 中
my_dict1.update(my_dict2)
C、fromkeys() 函数:创建一个新的字典,并将指定的键名都初始化为一个默认的值。
my_dict = {}.fromkeys(['a', 'b', 'c'], 0) # 创建一个键为 'a', 'b', 'c' 的字典,值都为 0
总结:
Python字典是Python中用于存储键值对的一种数据类型,它可以提供 O(1) 的时间复杂度的查找和插入操作,使得处理大量的键值对数据变得轻而易举。
Python字典的基本用法包括创建、访问、修改和删除等操作;高级用法则包括字典的遍历方式、复杂结构和高级操作,例如 setdefault() 函数、update() 函数和 fromkeys() 函数等。