学习目标
1、容器里面都有什么
2、容器怎么进行切片
python里面基本的数据类型都有什么
布尔类型、整型、浮点型、字符串
(都是不可变的,一旦创建数据内容不可更改,只能更改指向内存)
python中可以划分为:数字型、非数字型
数字型:
整型 int
浮点型 float
布尔类型 真的True 非0的数字
假的False 0
非数字型:
字符串
注意:
在python中,非数字类型的变量,都支持:
1、取值:索引取值、切片取值
2、遍历:for i in 容器
3、所有的非数字类型都可以称之为:容器
4、都可以进行拼接 + *
数据容器
用来装数据的集合
Python —》数据容器
1、列表
2、元组
3、字典
4、集合
容器一 列表
特性:它是一种:有序的、可变的、可以随时添加或者删除其中的元素
列表的创建
有两种方式
1、list()
2、[]
定义:专门用来存储一串信息的
创建完毕之后,中间数据用逗号隔开
列表是有索引的,索引从零开始
列表有下标,列表的索引 = 列表的下标
列表可以存储各个类型的基本数据。
列表的增加 3种
1、追加 追加内容到末尾
2、插入 insert(2,“董大胖”) 在固定位置插入元素
3、extend 把两个列表都追加到第一个元素内
列表的删除 4种
1、列表.pop() 删除列表的最后一位元素,有返回值
2、del(列表[下标]) 根据列表索引来进行删除的
3、列表.clear() 清空列表
4、列表.pop(索引) 有返回值
5、列表.romove(元素) 删除指定元素,没有该元素报错
列表的修改
根据下标来进行修改
列表的查询 3种
1、根据索引过来查找 对应下标 = 列表.index(‘元素内容’)
2、查询元素的出现次数 次数 = 列表.count(‘元素内容’)
3、取值 for 循环 迭代取值
列表的转化
1、转化的前提是:非数字类型
2、必须是可迭代的类型才能转化
3、数字类型不能强转为列表类型
列表的切片
格式[start🔚step]
包头不包尾
元组
特点:1、元组属于不可变序列 元组一旦创建,任何方法都无法修改其元素
2、元组的定义是在圆括号里面()
3、元组没有列表那么多方法。所以线程更安全、更高效
元组的创建
1、创建一个空元组info_tuple = tuple()、info_tuple2 = ()
2、元组创建不能只有一个元素,必须加一个逗号
元组的取值
1、元组的取值可以根据索引下标进行取值
2、可以根据切片进行进去取值,注意:返回的是一个元组
3、元组中没有删除和修改的功能,只有查询功能
4、可以将元组转换为列表来进行操作
5、迭代取值,也就是for循环
6、列表和元组可以相互转化,关键字是list和tuple
7、元组的解构(解包)
元组和列表的区别
1、列表可变,元组不可变
2、元组只具有查询的功能
3、在运行效率上来说,元组更高效
集合
特点:无序、可变序列。 {} 里面的元素不可重复
(只要是无序,元素都不可重复)
集合的创建
1、注意:空的{},指的是字典类型
2、空集合只能用关键字set命名
集合的特性
1、无序性
2、唯一性
集合的添加
1、add() 每次只能添加一个元素
2、可以使用for循环进行多行添加
集合的更新
1、update([要更新的元素])
2、集合更新集合
3、集合更新元素
4、集合更新列表
集合的删除
集合.remove(元素):找不到元素会报错
集合.discard(元素):找不到元素不会报错,正常运行
集合的修改
由于集合是无序的,所以集合不能修改
集合的运算
交集:& 两个集合的公共元素
并集:| 两个集合的全部元素
差集:- 获得运算符左侧集合的独有元素
对称差集:^ 获得除公共元素外的其他元素
字典
字典:key - value , 键值对。可以存储任何数据类型
特点:是一个无序的,可变的数据类型
定义:{key:value,key:value}
强调:键必须唯一,值不一定
空字典:{} 、dict1 = dict()
其他空元素:
set1 = set()
tuple1 = tuple()
list1 = list()
补充:键(key) 必须是不可变的数据类型:字符串、数字、元组
值(value):可以是任何数据
字典的增加
1、key : value 添加
2、update(key:value) 如果没有该字段,就添加,如果有就修改
字典的删除
1、根据键来删除 del dict1[‘money’]
2、出列 pop() 告诉要删除的key,会返回给相关的value值
3、清空字典里面的键值对clear()
字典的修改
dict1[key] = value
dict1.update({“name”:“NHY”})
字典的查询
dict1.keys():获得所有的key
dict1.values():获得所有的value
dict1.items():根据键值对查询
dict1[‘name’]:根据指定的键查询
总结:存储多个键值对,是无序的,
是不可重复的(key是不可重复的)
value是可以重复的