Python字典及字典基本操作方法详解
Python中的字典是一种无序的集合,它由键值对(key-value)组成,可以通过键来进行快速的查找、修改等操作。本篇文章将详细介绍Python字典的基本特性、创建方法、访问方法以及常用的操作方法等。
1. Python字典的基本特性
- 字典是一种无序集合,通过键(key)来进行快速的元素查找;
- 字典中的键必须是唯一的,不可重复;
- 字典中的值可以是任意类型;
- 字典的创建方式较为灵活,包括直接定义、fromkeys()方法、zip()方法等;
- 字典的访问可以通过键来进行,同时也支持遍历操作;
- 字典支持的操作包括增、删、改、查等基本操作,也支持集合同样的操作方法。
2. Python字典的创建方法
2.1 直接定义
Python字典的创建方法比较灵活,最基本的方式是通过直接定义。通过在大括号中以“键:值”的形式来表示一个键值对,多个键值对之间用逗号隔开。示例如下:
my_dict = {'name': 'Alice', 'age': 18, 'gender': 'female'}
print(my_dict)
输出结果如下:
{'name': 'Alice', 'age': 18, 'gender': 'female'}
2.2 fromkeys()方法
Python中的字典还可以通过fromkeys()方法来创建,该方法接受一个可迭代对象作为参数,返回一个新的字典对象,其中可迭代对象中的元素将被作为字典中的键,而值则均为None。示例如下:
keys = ['name', 'age', 'gender']
values = [None] * 3
my_dict = dict.fromkeys(keys, values) # 等效于my_dict = {'name': None, 'age': None, 'gender': None}
print(my_dict)
输出结果如下:
{'name': [None, None, None], 'age': [None, None, None], 'gender': [None, None, None]}
2.3 zip()方法
另外一种常见的方式是通过zip()函数将两个可迭代对象打包成元组,再使用dict()函数将其转化为字典。示例如下:
keys = ['name', 'age', 'gender']
values = ['Alice', 18, 'female']
my_dict = dict(zip(keys, values))
print(my_dict)
输出结果如下:
{'name': 'Alice', 'age': 18, 'gender': 'female'}
3. Python字典的访问方法
3.1 根据键访问
Python字典的访问方法是通过键来进行的,即使用中括号“[]”或者get()方法来访问。示例如下:
my_dict = {'name': 'Alice', 'age': 18, 'gender': 'female'}
# 使用中括号来访问
print(my_dict['name'])
# 使用get()方法进行访问
print(my_dict.get('age'))
输出结果如下:
Alice
18
3.2 遍历字典
Python字典可以使用for循环来进行遍历,其中for循环默认遍历的是字典的键,也可以使用items()方法来同时遍历键值对。示例如下:
my_dict = {'name': 'Alice', 'age': 18, 'gender': 'female'}
# 遍历字典的键
for key in my_dict:
print(key)
# 遍历字典的值
for value in my_dict.values():
print(value)
# 遍历字典的键值对
for key, value in my_dict.items():
print(key, value)
输出结果如下:
name
age
gender
Alice
18
female
name Alice
age 18
gender female
4. Python字典的常用操作方法
4.1 添加元素
字典中的元素可以通过直接赋值的方式来添加,也可以使用update()方法来进行添加。示例如下:
my_dict = {'name': 'Alice', 'age': 18, 'gender': 'female'}
# 添加元素
my_dict['grade'] = 'A'
print(my_dict)
# 使用update()方法添加元素
my_dict.update({'score': 99.5})
print(my_dict)
输出结果如下:
{'name': 'Alice', 'age': 18, 'gender': 'female', 'grade': 'A'}
{'name': 'Alice', 'age': 18, 'gender': 'female', 'grade': 'A', 'score': 99.5}
4.2 删除元素
字典中的元素可以使用del语句来进行删除,也可以使用pop()方法来进行删除。其中del语句删除元素会返回None,而pop()方法除了删除元素外还可以返回元素的值。示例如下:
my_dict = {'name': 'Alice', 'age': 18, 'gender': 'female', 'grade': 'A', 'score': 99.5}
# 删除元素
del my_dict['score']
print(my_dict)
# 使用pop()方法删除元素
value = my_dict.pop('grade')
print(my_dict)
print(value)
输出结果如下:
{'name': 'Alice', 'age': 18, 'gender': 'female', 'grade': 'A'}
{'name': 'Alice', 'age': 18, 'gender': 'female'}
A
4.3 修改元素
Python字典中的元素可以通过直接赋值的方式来修改,也可以使用update()方法来进行修改。示例如下:
my_dict = {'name': 'Alice', 'age': 18, 'gender': 'female', 'grade': 'A', 'score': 99.5}
# 修改元素
my_dict['name'] = 'Bob'
print(my_dict)
# 使用update()方法修改元素
my_dict.update({'age': 19})
print(my_dict)
输出结果如下:
{'name': 'Bob', 'age': 18, 'gender': 'female', 'grade': 'A', 'score': 99.5}
{'name': 'Bob', 'age': 19, 'gender': 'female', 'grade': 'A', 'score': 99.5}
4.4 查找元素
Python字典的查找操作是通过键来进行的,将键作为参数传入dict类的get()方法即可返回对应的值。如果查找的键不存在,则可以指定一个默认值来返回。示例如下:
my_dict = {'name': 'Alice', 'age': 18, 'gender': 'female', 'grade': 'A', 'score': 99.5}
# 查找元素
print(my_dict.get('score', None))
print(my_dict.get('class', 'not found'))
输出结果如下:
99.5
not found
5. Python字典的注意事项
- 字典的键必须是可哈希的(不可变的),例如数字、字符串、元组等,而列表和字典则是不可哈希的;
- 字典的元素是无序的,不能通过下标来访问;
- 字典的键是唯一的,不可重复,否则会覆盖掉已有的值;
在使用Python字典时,需要注意上述几点,同时合理选择创建方法,可以大大提高程序的效率和可维护性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python字典及字典基本操作方法详解 - Python技术站