字典
大约 2 分钟PythonPythondict字典
字典
字典,是以键值对(key -> value)的方式存储数据,是一个无序的序列。
类似于现实中的汉语字典,字典的键就相当于一个需要查的字,字典的值就相当于字的含义。
一、字典的使用
在 Python 中,用{}来定义一个字典。
# 定义一个学生的字典,记录学生的个人信息
student = {
"name": "Python",
"age": 33,
"sex": "男"
}
print(student)
{'name': 'Python', 'age': 33, 'sex': '男'}
代码中 name、age、sex 为字典的 key,每个 key 都有一个 value 与之对应。
字典的值可以是数、字符串、列表和字典等所有的 Python 数据结构。
二、字典的读取
通过字典的 key 可以很直接取到对应的值。
student = {
"name": "Python",
"age": 33,
"sex": "男"
}
print(student['name'])
print(student['age'])
Python
33
但是如果用不存在的 key 去取,Python 会提示错误,退出运行。
student = {
"name": "Python",
"age": 33,
"sex": "男"
}
print(student['age1']);
> Traceback (most recent call last):
> File test_dict.py", line 10, in <module>
> print(student['age1'])
> KeyError: 'age1'
Python 也提供了 get 方法,当 key 不存在时,返回一个默认值,避免程序退出。
student = {
"name": "Python",
"age": 33,
"sex": "男"
}
# age1不存在,返回第二个值10
print(student.get("age1", 10))
10
三、获取字典所有的key
- keys() 获取字典中的所有 key
- values() 获取字典中的所有 value 对
- items() 获取字典中的所有 key, value 对
student = {
"name": "Python",
"age": 33,
"sex": "男"
}
print(student.keys())
print(student.values())
print(student.items())
dict_keys(['name', 'age', 'sex'])
dict_values(['Python', 33, '男'])
dict_items([('name', 'Python'), ('age', 33), ('sex', '男')])
四、判断是否包含某个key
通过 in、not in 关键字可以判断字典中是否包含某个 key。
student = {
"name": "Python",
"age": 33,
"sex": "男"
}
print('name' in student)
print('namea' in student)
print('name' not in student)
True
False
False
五、添加键值对
对于已经创建好的字典也可以添加键值对。
student = {
"name": "Python",
"age": 33,
"sex": "男"
}
student['height']=200
print(student)
{'name': 'Python', 'age': 33, 'sex': '男', 'height': 200}
六、修改键值对
对于已经创建好的字典也可以修改其中一部分值。
student = {
"name": "Python",
"age": 33,
"sex": "男"
}
# 修改age对应的值
student['age']=32
print(student)
{'name': 'Python', 'age': 32, 'sex': '男'}
七、删除键值对
对于字典中不需要的键值对,通过 del 语句将其删除。
student = {
"name": "Python",
"age": 33,
"sex": "男"
}
# 删除sex这个key
del student['sex']
print(student)
{'name': 'Python', 'age': 33}