目录
[注]空元组可以用没有包含内容的圆括号来表示;只含一个值的元组,必须加个逗号(,)
比较:difference()和 difference_update()
列表--List
什么是列表?
列表是最常用的Python数据类型,一个列表中可以存储多个不同类型的数据。
语法:变量名=[]
[ ] 内可以是 number、string、bool 等
创建列表
方法1:创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。
方法2:使用list()函数
* List()对字符串创建列表非常有效
* 当使用list()函数传入字符串创建列表时,结果会将字符串的每一个字符都当成是列表中的一个元素(此技巧在后续学习过程中会频繁使用)
创建列表时尽量不要命名为list
访问列表元素
方法1:通过元素的正整数/负整数索引下标获取列表元素
* 正整数索引从左往右依次为0,1,2……
* 负整数索引从右往左依次为-1,-2,-3……
方法2:获取列表中的多个元素
* 冒号的作用:n1:n2表示从n1到n2,其取值范围为n1到n2-1,即包含左边界元素不包含右边界元素
列表获取的简写形式
0在开头或结尾时可以省略
添加列表元素
用append()向列表中添加元素,append添加元素时只可以添加单个元素
修改列表元素
用重新赋值的方法修改列表元素
删除列表元素
用del删除列表元素
列表脚本操作符
列表索引
截取(切片)
切片就是通过下表获取列表中的元素
元组--Tupple
什么是元组?
Python的元组与列表类似,不同之处在于元组的元素不能修改,不能添加,不能删除。
语法:变量名 = ( )
( ) 内可以是 任意的python
创建元组
方法1:直接创建
元组创建只需要在小括号中添加元素,并使用逗号隔开即可。
不过要注意的是元组使用小括号,列表使用方括号。
[注]空元组可以用没有包含内容的圆括号来表示;只含一个值的元组,必须加个逗号(,)
方法2:用字符串创建
方法3:列表与元组之间的转换
* 可用同样方法将元组转换为列表
访问元组
元组的访问方式与列表基本相同
修改元组
元组中的元素值是不允许修改的,但我们可以对元组进行连接组合。
删除元组
元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组。
元组运算符
与字符串一样,元组之间可以使用 + 号和 * 号进行运算。
这就意味着他们可以组合和复制,运算后会生成一个新的元组。
迭代示例:
元组索引,截取(切片)
因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素。
tup = ('spam', 'Spam', 'SPAM!')
字典--Dictionary
什么是字典?
键必须是唯一的,但值则不必。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
创建字典?
方法1:直接创建,常用
创建字典用用大括号{}
方法2:dict()方法创建字典,常用,可读性强
通过元组中嵌套列表,再使用元组创建字典
方法3:使用key=value创建字典
方法4:{}.fromkeys()
访问字典元素
dict数据类型是以键值对的形式存放数据,所以,只要知道键,就能得到值。
本质上是一种映射关系。
通过Key获取Values
- 因为是键与值的映射,所以在读值的时候可以不考虑排序问题,比如说列表,python需要从头开始读。
- 因为这个特性,字典读取的效率比较高,数据规模越大,越明显。所以,mongdb这种非关系型数据库在大的数据方面比较流行。
修改字典
通过重新赋值修改或新增字典元素
删除字典
能删单一的元素也能清空字典,清空只需一项操作
用del删除字典键值对
清空字典:删除字典的所有键值对
删除字典
遍历字典
集合--Set
什么是集合
回顾一下前面的数据类型:
① 能够索引的, 如 list/str ,其中的元素可以重复
② 可变的,如list/dict,其中的元素/键值对可以原地修改
③ 不可变的,如 str/int ,不能进行原地修改
④ 无索引序列的,如 dict,其中的元素没有排列顺序
而集合正是 Ta 们的杂交。有的可变,有的不可变,元素无次序,集合不可重复。
也就是说:set是一个无序且不重复的元素集合。
语法:变量名 = set( )
创建集合
方法1:拆分字符串去重创建集合
方法2:列表元素去重创建集合
方法3:使用字典创建集合
使用字典创建集合时,只能获取字典的键值
方法4:用{}创建集合
- 用{}创建时需要特别注意集合与字典的创建区别
集合的基本操作
比较:difference()和 difference_update()
删除: discard()、remove()、pop()
用discard()移除不存在的元素不会报错
用remove()移除不存在的元素会报错
pop()根据集合随机排序后的顺序,删除第一个集合元素,并将删除的元组赋给新值
因为集合会随机排序,用pop()命令后每次运行移除的元素可能不同
取交集
用 intersection() 和 intersection_update()取交集
判断
用isdisjoint()、issubset()和issuperset()判断是否有交集
判断集合之间是否存在交集,如果存在,返回False,不存在则返回True
合并
用symmetric_difference()和symmetric_difference_update()合并不同项
更新
用update()更新,并将更新后结果重新赋值