- 前言:本期学到的三个内容是元组 字典和集合,三个一节课,上一课列表独自占一节课,有一点三英战吕布的意思,是说元组 字典 集合三者一个头磕在地上,然后保着python西天取经, 桃园结义之后大战列表;不是这三英太弱了,而是列表太强了。也不是,而是这几个数据结构其实是有共性的,有些用法在列表里用过,在此不必再仔细讲。
- 不过话又说回来,在应用中列表确实好用,比另外三者用的多;要真的统计一下使用频率,或许另外三者加起来真的不如列表用的多;
元组
- 想成一个不可变的列表,不能改变列表中的内容
- 但是可以搜索,看看某个值在不在这里面
- 当我们不希望数据改变的时候我们用元组,其余情况都用列表
- 创建元组
- 元组的解包 元素多而变量少的情况下需要用*
字典
- 不算序列,属于新的数据结构,称之为映射(mapping)
- 作用是用于存储对象的容器
- 列表和字典的区别 列表存储数据的性能非常好,但是查询数据的性能比较差
- 字典存储数据的性能一般,但是查询数据的性能很好
- 字典 查询字典 可以通过查找唯一索引的方式查询,因为字典中每一个元素都是有一个唯一的名字,通过这个唯一的名字快速查找到指定元素
- 通过key 快速查到value
- 字典又叫“键值对” key - value
- 一项称为item
集合
- 集合和列表很相似
- 不同点: 集合只能存储不可变对象
- 集合中存储的元素是不可变的
- 集合不能出现重复元素
- 无序的,所谓无序,是指插入的顺序和保存的顺序是不一样的
- 没有重复的,集合内的数唯一
复习部分
- 元组 字典 集合
- tuple 不可变序列 创建元组()
- 空的元组至少有个逗号
- 解包:将元组或者序列中的每一个元素赋值给变量
字典
- 映射
- 对象
- 列表的存储性能比较好,查询性能比较差
- 字典:key-value
- 每个键值对成为items
- 字典的值可以是任意的对象 字典的键不能重复 如果重复 后面会代替前面的
- dict get update del popitem pop
- 浅复制 只复制表面的一层
- 遍历字典 keys values items
集合
- 列表相似 但是集合只能存储不可变对象
- 集合中的对象是无序的
- 集合不能出现吧重复的元素
- set 可以将序列转化为集合
- 集合的运算