通过【字】 就能找到对应的【含义】
所以,我们可以认为,生活中的字典就是记录的一堆: 【字】:【含义】 【字】:【含义】 ......
Python中字典和生活中字典十分相像:
Key: Value
Key: Value
可以按【Key】找出对应的【Value】
老师有一份名单,记录了学生的姓名和考试总成绩。
现在需要将其通过Python录入至程序中,并可以通过学生姓名检索学生的成绩。
使用字典最为合适:
可以通过Key(学生姓名),取到对应的Value(考试成绩)
所以,为什么使用字典? 因为可以使用字典,实现用key取出Value的操作
字典的定义,同样使用{},不过存储的元素是一个个的:键值对,如下语法:
使用{}存储原始,每一个元素是一个键值对 每一个键值对包含Key和Value(用冒号分隔) 键值对之间使用逗号分隔 Key和Value可以是任意类型的数据(key不可为字典) Key不可重复,重复会对原有数据覆盖
前文中记录学生成绩的需求,可以如下记录:
字典同集合一样,不可以使用下标索引
但是字典可以通过Key值来取得对应的Value
字典的Key和Value可以是任意数据类型(Key不可为字典)
那么,就表明,字典是可以嵌套的
需求如下:记录学生各科的考试信息
嵌套字典的内容获取,如下所示:
字典的注意事项 键值对的Key和Value可以是任意类型(Key不可为字典) 字典内Key不允许重复,重复添加等同于覆盖原有数据 字典不可用下标索引,而是通过Key检索Value
新增元素
语法:字典[Key] = Value,结果:字典被修改,新增了元素
更新元素
语法:字典[Key] = Value,结果:字典被修改,元素被更新
注意:字典Key不可以重复,所以对已存在的Key执行上述操作,就是更新Value值
删除元素
语法:字典.pop(Key),结果:获得指定Key的Value,同时字典被修改,指定Key的数据被删除
清空字典
语法:字典.clear(),结果:字典被修改,元素被清空
获取全部的key
语法:字典.keys(),结果:得到字典中的全部Key
遍历字典
语法:for key in 字典.keys()
注意:字典不支持下标索引,所以同样不可以用while循环遍历
计算字典内的全部元素(键值对)数量
语法:len(字典) 结果:得到一个整数,表示字典内元素(键值对)的数量
编号 | 操作 | 说明 |
---|---|---|
1 | 字典[Key] | 获取指定Key对应的Value值 |
2 | 字典[Key] = Value | 添加或更新键值对 |
3 | 字典.pop(Key) | 取出Key对应的Value并在字典内删除此Key的键值对 |
4 | 字典.clear() | 清空字典 |
5 | 字典.keys() | 获取字典的全部Key,可用于for循环遍历字典 |
6 | len(字典) | 计算字典内的元素数量 |
经过上述对字典的学习,可以总结出字典有如下特点: 可以容纳多个数据 可以容纳不同类型的数据 每一份数据是KeyValue键值对 可以通过Key获取到Value,Key不可重复(重复会覆盖) 不支持下标索引 可以修改(增加或删除更新元素等) 支持for循环,不支持while循环
列表 | 元组 | 字符串 | 集合 | 字典 | |
---|---|---|---|---|---|
元素数量 | 支持多个 | 支持多个 | 支持多个 | 支持多个 | 支持多个 |
元素类型 | 任意 | 任意 | 仅字符 | 任意 | Key:Value Key:除字典外任意类型 Value:任意类型 |
下标索引 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
重复元素 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
可修改性 | 支持 | 不支持 | 不支持 | 支持 | 支持 |
数据有序 | 是 | 是 | 是 | 否 | 否 |
使用场景 | 可修改、可重复的一批数据记录场景 | 不可修改、可重复的一批数据记录场景 | 一串字符的记录场景 | 不可重复的数据记录场景 | 以Key检索Value的数据记录场景 |