一、字典的定义和概念
Python中的字典是一种无序的、可变的数据类型,它可存储任意类型的对象(包括其他的可变容器类型),如其他的列表、元组、集合等,而不仅仅是字符串或数字。
字典是由键和对应值组成的映射关系,比如GPA一科目的得分就可以是一个键,而标准的4.0GPA则是这个键所对应的值。每个键都必须是唯一的,而且必须是不可变的对象,如字符串、元组等不可变类型,给一个键赋不同的值,后面的值会覆盖前面的值。
>>> my_dict = {'age': 25, 'name': '小明', 'score': 90}
上面的例子创建了一个字典,其键名为'name'、'age'和'score',对应的值分别是'小明'、25和90。在Python中,字典用大括号“{}”表示,键值对之间用冒号“:”隔开。
二、字典的基本操作
1、访问字典中的值
要访问字典中的值,可以通过它们的键来获取。
>>> my_dict = {'age': 25, 'name': '小明', 'score': 90}
>>> print(my_dict['name'])
小明
2、修改字典
可以直接对字典的某个键值进行修改。
>>> my_dict = {'age': 25, 'name': '小明', 'score': 90}
>>> my_dict['score'] = 95
>>> print(my_dict)
{'age': 25, 'name': '小明', 'score': 95}
3、添加新键值对
可以直接使用新的键以及对应的值来添加新的键值对。
>>> my_dict = {'age': 25, 'name': '小明', 'score': 90}
>>> my_dict['class'] = '二年级'
>>> print(my_dict)
{'age': 25, 'name': '小明', 'score': 90, 'class': '二年级'}
4、删除键值对
可以使用del语句删除字典中的某个键值对。
>>> my_dict = {'age': 25, 'name': '小明', 'score': 90}
>>> del my_dict['score']
>>> print(my_dict)
{'age': 25, 'name': '小明'}
三、字典的遍历
可以通过for循环遍历字典中的所有键值对。
>>> my_dict = {'age': 25, 'name': '小明', 'score': 90}
>>> for key, value in my_dict.items():
print(key, ':', value)
age : 25
name : 小明
score : 90
在上面的例子中,items()方法返回一个包含了字典中所有键值对的元组列表,然后通过for循环遍历这个列表,每次将键存储在变量key中,将对应值存储在变量value中。
四、字典的常用方法
Python中的字典有很多内置方法,以下是一些常用的方法:
1、clear():删除字典内所有元素。
2、copy():返回一个字典的浅拷贝,即复制一份,但是两个字典内的值还是共享同一块内存。
3、fromkeys(seq[, v]):返回一个新字典,其中的元素由序列seq中的元素做键,值都为v。
4、get(key[,d]):返回指定键的值,如果键不存在,则返回默认值d。
5、items():返回一个包含所有字典项的列表,每个元素是一个(key, value)形式的元组。
6、keys():返回一个包含字典所有key值的列表。
7、values():返回一个包含字典所有value值的列表。
>>> my_dict = {'age': 25, 'name': '小明', 'score': 90}
>>> my_dict.clear()
>>> print(my_dict)
{}
>>> new_dict = my_dict.copy()
>>> my_dict['name'] = '小红'
>>> print(my_dict)
{'name': '小红'}
>>> print(new_dict)
{}
>>> my_dict = {}.fromkeys(['age', 'name', 'score'], 0)
>>> print(my_dict)
{'name': 0, 'score': 0, 'age': 0}
五、字典推导式
字典推导式是一种从任何序列中创建字典的简洁方式。字典推导式由一对花括号“{}”和一个键值对构成,其中键值对由冒号分隔,每个键值对之间用逗号分隔。
>>> my_dict = {x: x**2 for x in (2, 4, 6)}
>>> print(my_dict)
{2: 4, 4: 16, 6: 36}
上面的例子展示了如何创建一个字典,其中键是2、4、6,而每个键对应的值分别是4、16、36。
六、结语
字典是Python中非常常用的一种数据类型,其具有无限扩展性和极强的灵活性。在日常的Python编程过程中,熟练掌握字典的各种操作和使用方法是非常重要的,它可以使我们的代码更加简洁高效,以及更加易于理解和维护。