Python中,字典(Dictionary)是一种内置的数据结构,用于存储键值对的集合。它是一种可变容器,允许用户存储任意类型的对象。字典中的每个元素由一个键(key)和一个值(value)组成,键和值之间用冒号(:)分隔,而各个键值对之间用逗号(,)分隔,整个字典被包含在花括号({})中。
字典的定义
字典标准格式
1
2
3
4
5
|
# 定义字典变量
dict = {key:value,key:value,……,key:value}
# 定义空字典
dict = {}
dict = dict()
|
使用例:
1
2
|
# 使用字典记录学生及其成绩
dict = {'小明':80,'小华':84,'小红':90}
|
字典数据的获取
字典不支持下标索引,可以通过Key值来取得对应的Value
1
2
3
4
|
dict = {'小明':80,'小华':84,'小红':90}
print(dict['小明'])
print(dict['小华'])
print(dict['小红'])
|
字典的嵌套
字典的Key和Value可以是任意数据类型 (Key不可以是字典)
使用例:使用字典记录学生及其成绩
| 姓名 |
语文 |
数学 |
英语 |
| 小明 |
77 |
66 |
33 |
| 小华 |
88 |
86 |
55 |
| 小红 |
99 |
96 |
66 |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
score = {
'小明':{
'语文':77,
'数学':66,
'英语':33
},'小华':{
'语文':88,
'数学':86,
'英语':55
},'小红':{
'语文':99,
'数学':96,
'英语':66
}
}
print(score)
# 接下来是索引教程
# 此处查询小华的数学成绩
print(score['小华']['数学']) #输出 86
|
字典的常用操作
字典的新增元素
直接对新元素执行以下命令即可
1
2
3
|
dict = {'小明':80,'小华':84,'小红':90}
dict['小芳'] = 94
print(dict)
|
字典的更新/修改元素
字典Key不可重复,所以直接对已有元素执行以下命令即可
1
2
3
|
dict = {'小明':80,'小华':84,'小红':90}
dict['小明'] = 100
print(dict)
|
删除元素 pop
删除的同时取出元素
1
2
3
4
|
dict = {'小明':80,'小华':84,'小红':90}
a = dict.pop('小红')
print(dict)
print(a)
|
清空字典
1
2
3
|
dict = {'小明':80,'小华':84,'小红':90}
dict.clear()
print(dict)
|
获取全部的Key keys
和pop相同,你需要用变量来接收
1
2
3
|
dict = {'小明':80,'小华':84,'小红':90}
a = dict.keys()
print(a) # 输出 dict_keys(['小明', '小华', '小红'])
|
统计字典内的元素数量 len
1
2
|
dict = {'小明':80,'小华':84,'小红':90}
print(len(dict))
|
字典的遍历
由于不能通过下标索引,字典同样不支持while循环
for函数
方式一:使用 2.5获取全部的Key keys 处的指令
1
2
3
4
|
dict = {'小明':80,'小华':84,'小红':90}
k = dict.keys() #此处的k本质是列表,所以接下来参考列表的遍历
for m in k:
print(m,'的成绩是',dict[m])
|
方式二:直接遍历
1
2
3
|
dict = {'小明':80,'小华':84,'小红':90}
for k in dict:
print(k,'的成绩是',dict[k])
|