Python
5.5 list 列表
5.5.1 list的使用
列表本质上是一种有序的集合,每个值都有相应的索引
-
创建列表
-
列表的访问和操作
-
与字符串的索引一样,列表索引左侧从
0
开始,右侧从-1
开始 截取的区间为半开半闭
-
修改:列表和元组不同,其值可以直接进行赋值的修改
-
通过del可以直接删除list的对象
-
- 将两个列表合并 使用 +和+=
- 列表重复 运算符 *
- 判断元素是否在list中
-
list的嵌套
5.5.2 函数&方法
-
函数
序号 函数 1 len(list) 列表元素个数 2 max(list) 返回列表元素最大值 3 min(list) 返回列表元素最小值 4 list(seq) 将元组转换为列表 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CPU4fZLS-1608734306612)(C:\Users\羽\AppData\Roaming\Typora\typora-user-images\image-20201221124329498.png)]
-
方法:
-
list.append(obj) 在列表末尾添加新的对象
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t1RmltdB-1608734306613)(C:\Users\羽\AppData\Roaming\Typora\typora-user-images\image-20201221124547378.png)]
-
list.count(obj) 统计某个元素在列表中出现的次数
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ChGlsVcs-1608734306614)(C:\Users\羽\AppData\Roaming\Typora\typora-user-images\image-20201221124714741.png)]
-
list.extend(seq) 在列表末尾一次性追加另一个list
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pI61MBKe-1608734306616)(C:\Users\羽\AppData\Roaming\Typora\typora-user-images\image-20201221124825744.png)]
-
list.index(obj) 返回指定元素的索引位置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Gtn9lyap-1608734306617)(C:\Users\羽\AppData\Roaming\Typora\typora-user-images\image-20201221125010381.png)]
-
list.insert(index, obj) 在lsit的指定位置插入相应数据
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S99bRbgw-1608734306618)(C:\Users\羽\AppData\Roaming\Typora\typora-user-images\image-20201221125601839.png)]
-
list.pop([index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Gucbm8yF-1608734306619)(C:\Users\羽\AppData\Roaming\Typora\typora-user-images\image-20201221125715335.png)]
-
list.remove(obj) 移除列表中某个值的第一个匹配项
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7rZmJtsC-1608734306620)(C:\Users\羽\AppData\Roaming\Typora\typora-user-images\image-20201221125932828.png)]
-
list.reverse() 反向列表中元素
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C3ocsyQU-1608734306622)(C:\Users\羽\AppData\Roaming\Typora\typora-user-images\image-20201221130137612.png)]
-
list.sort( key=None, reverse=False) 对原列表进行排序 key – 主要是用来进行比较的元素,reverse – 排序规则,reverse = True 降序, reverse = False 升序(默认)。不同类型的数据不能进行比较
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N6tqkGdu-1608734306623)(C:\Users\羽\AppData\Roaming\Typora\typora-user-images\image-20201221130801928.png)]
-
list.clear() 清空列表
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F8NtWucw-1608734306627)(C:\Users\羽\AppData\Roaming\Typora\typora-user-images\image-20201221130904724.png)]
-
list.copy() 复制列表
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XJW7VLHI-1608734306629)(C:\Users\羽\AppData\Roaming\Typora\typora-user-images\image-20201221131034339.png)]
-
5.6 dictionary 字典
5.6.1 dict字典的使用
字典以键值对的形式保存数据,为可变容器模型,且可存储任意类型对象。以键值形式保存数据 key=>value
,以:分割
-
字典数据的特性
-
key是唯一的,值可以相同
-
key必须是
不可变
的数据
-
-
字典的创建
-
字典的操作
-
获取字典内数据
-
字典内数据的增加和修改
-
- 删除(删单一的元素、清空字典、刪除字典對象)
- 遍历
5.6.2 内置方法和函数
-
方法
-
len(dict) 计算字典数据的个数
- str(dict) 将字典以字符串形式输出
-
函数
-
dict.clear() 删除字典内所有的元素
- dict.get(key, default=None) 返回指定键的值,不存在返回None
-
-
key in dict 判断一个键是否存在返回True或False
-
dict.items() 以将键值封装成元组的形式,存放在list列表中
- dict.keys() 返回一个迭代器,可以使用 list() 来转换为列表
- dict.setdefault(key, default=None) 根据键返回值,但如果键不存在于字典中,将会添加键并将值设为default
- dict1.update(dict2) 把dict2的值添加dict1中
- dict.values() 返回值,可以使用 list() 来转换为列表类型
- dict.pop(key,default) 删除指定键对应的值
-
dict.popitem() 并删除字典中的最后一对键和值。
-
dict.copy() 复制一个字典
5.7 set() 集合
5.7.1 set()的使用
set()内的元素不可重复。可以使用大括号 { }
或者 set()
函数创建集合,创建空集合时必须使用set()
-
添加元素
-
set.add():可添加的元素为不可变的数据类型
-
set.update():可添加多个,
-
-
移除元素
-
set.remove() 移除指定元素
-
set.discard() 移除指定的集合元素,元素不存在时不会报错
-
set.pop() 随机移除元素
-
- clear()清除所有元素
-
len(set)返回集合中元素的个数
-
in判断元素是否在set中存在
-
copy() 复制一个集合
-
集合的交集
- set.intersection_update(set1,set2…) 在原始的集合上移除不重叠的元素。
- set.intersection(set1,set2…) 交集,,产生新的集合
-
union() 集合的并集
-
集合的补集
- set.symmetric_difference(set1,set2…) 非重复元素产生一个新的集合
- set1.symmetric_difference_update(set2,set3…) 将set2的元素插入到s1,移除重复的元素
-
差集
- set1.difference(set2) 包含在第一个集合中,但不包含在第二个集合,返回的是一个新集合
-
子集
- set1.issuperset(set2) 判断set2是否为set1的子集
- set1.issubset(set2) 判断set1是否为set2的子集,issubset相反
- set1.isdisjoint(set2) 判断set1和set2中有没有重复的元素 没有返回 True,否则返回 False。
5.8 数据间的转换
- set 转 tuple
set 转 list