Python List:一文彻底粉碎列表

一、组合数据类型container objects

在这里插入图片描述
组合数据类型container objects:能够表示多个数据的类型
集合类型:集合类型是一个元素集合,元素无序不重不变
序列类型:序列类型是一个元素向量,元素有序可重可变可不变。序列类型的典型代表是列表类型、元组类型、字符串类型(但元组一旦定义,元素就不能变了)
映射类型:映射类型是“键-值”数据项的组合,元素无序不重键不可变值可变可不变,每个元素是一个键值对。映射类型的典型代表是字典类型
集合类型是一个具体的数据类型名称,而序列类型和映射类型是一类数据类型的总称。
不可变数据类型:immutable,如数字、元组、字符串
可变数据类型:mutable,如列表、集合、字典
可迭代对象:iterable,如range()、序列(列表元组字符串)、集合、字典、文件,generator
不可迭代对象:如数字

很多函数的参数以及返回值都是iterable:map(), filter() ,zip() ,range(), dict.keys(), dict.items() 和 dict.values()

二、列表

有序序列,元素类型可以可变或不可变
在这里插入图片描述
(一)创建
1、可使用[]或list()创建
2、使用list(iterable)创建时,参数必须是iterable的
3、使用list()创建时,如果参数是字典,返回是keys组成的列表
在这里插入图片描述
在这里插入图片描述
(二)增加
1、使用+连接
2、list.append(x),在list最后增加一个元素
在这里插入图片描述
3、list.insert(index, object),在list的index位置增加object,如果index超出范围,就放在开头或末尾
在这里插入图片描述
4、list.extend(iterable),与+相同
append增加,是整个放进去。如果要破开,可用extend,同+
在这里插入图片描述
在这里插入图片描述
(三)删除
1、del list[i:j:k],删除一个元素(超出范围报错),删除一个片段(超出范围到最后),含i,不含j,
2、list.pop(index),删除序号为index的元素,无index默认删除最后一个,只能删除一个元素,index超出范围报错IndexError
为防报错,使用之前先判断len(list)
(set.pop(),无参数,随机删除集合s中的一个元素,并可返回pop的值,当集合s为空时pop()异常KeyError)
在这里插入图片描述
在这里插入图片描述
3、list.remove(x),删除列表list中第一次出现的x元素,如果list中不存在x,会报错ValeError
为防报错,使用之前先判断 x in list,或list.count(x),或捕获异常
在这里插入图片描述
(四)改
1、list[i:j:k]=,改一个元素(超出范围报错),改一个片段(超出范围到最后),含i,不含j。改一个片段,被改的和改的要对应。
在这里插入图片描述
(五)查
1、list[i:j:k],查一个元素(超出范围报错IndexError),查一个片段(超出范围到最后),含i,不含j。
2、i >= j,返回空
在这里插入图片描述
3、list.index(x),查询元素x第一次出现的序号,如果元素x不存在,报错ValueError
为防报错,可用 x in list 或 list.count(x) 或捕获异常
在这里插入图片描述
(六)操作
1、循环操作:enumerate(list),返回一个元组(index, x)
在这里插入图片描述
2、for遍历循环
在这里插入图片描述
3、连接 +,返回一个新list,原list1不变,原list2不变
在这里插入图片描述
4、list1.extend(list2),更新原list1,list2不变,不返回新列表
在这里插入图片描述
5、整数* list 或 list *整数
在这里插入图片描述
6、排序
list[::-1],更新list为逆序排列,不返回新列表
list.reverse(),更新list为逆序排列,不返回新列表
在这里插入图片描述
list.sort(),更新list排序,默认从小到大(reverse=False),不返回新列表
如果reverse=True,则从大到小排序
在这里插入图片描述
在这里插入图片描述
sorted(list),返回一个排序后的新列表,默认从小到大(reverse=False),原list不变
在这里插入图片描述
在这里插入图片描述
sort和sorted都可以设置排序依据key
在这里插入图片描述
list.sort()会修改原列表,sorted(list)不修改原列表返回一个新列表

max(list), min(list),当list里元素都是相同type,返回list里元素的最大最小
sum(list),当list里元素都是number,返回list里元素的总和。不适用其它类型。
在这里插入图片描述

## (七)切片

list[i:j:k],同序列,含i,不含j
在这里插入图片描述
(八)复制
list.copy(),返回一个新列表,原list不变,这是两个列表
在这里插入图片描述
推导式:comprehension (map,filter),根据一个list来推导另一个list,在推导过程中可以加各种条件
在这里插入图片描述
map()
在这里插入图片描述
filter()

PS: source bilibili

猜你喜欢

转载自blog.csdn.net/weixin_47008635/article/details/113828652