列表
-
定义
1.列表是一种容器(通常用来存储计算器的数据对象)
2.列表是可以被改变的序列
3.列表是由一系列特定元素组成的,元素与元素之间可能没有任何关联关系,但他们之间有先后顺序关系 -
创建空列表的字面值方式
L=[] -
列表的构造函数list
list() 生成一个空列表,等同于[]
list(iterable) 用于可迭代对象创建一个列表 -
列表的运算:
运算符:
+ += * *=
‘+’ 用于拼接列表
x = [1, 2, 3]
y = [4, 5, 6]
z = x + y # [1, 2, 3, 4, 5, 6]
+= 用于将右侧的可迭代对象的数据追加到原列表中
x = [1, 2, 3]
x += [4, 5, 6] # x = [1, 2, 3, 4, 5, 6]
x = [1, 2]
x += “AB” # x = [1, 2, ‘A’, ‘B’]
x = [1, 2]
x += range(3) # x = [1, 2, 0, 1, 2]
*用于生成重复的列表
x = [1, 2] * 3 # x = [1, 2, 1, 2, 1, 2]
x = list(“AB”)
x *= 2 # x = [‘A’, ‘B’, ‘A’, ‘B’] -
列表的比较运算:
运算符:
< <= > >= == !=
比较规则:
同字符串比较规则完全相同 -
列表的in / not in 运算符:
判断一个元素是否存在于列表中,如果存在返回True,否则返回 False
in 和 not in 的返回值相反 -
列表的索引操作:
语法: 列表[整数表达式]
用法:
等同于字符串的索引操作(索引分正向索引和反向索引,规则与字符串完全相同)
列表的索引赋值:列表是可变的序列,可以通过索引赋值改变列表中的元素
语法:
列表[整数表达式] = 表达式 -
列表的切片
列表[:]
列表[::]
列表的切片取值返回一个列表,规则等同于字符串的切片规则 -
列表的切片赋值:
作用:
可以改变原列表的排列,可以插入和修改数据
可以用切片改变列表对应的元素的值
语法:
列表[切片slice] = 可迭代对象
说明:
赋值运算符的右侧必须是一个可迭代对象 -
切片赋值注意事项:
对于步长不等于1的切片赋值,赋值运算符的右侧的可迭代对象提供的数据元素的个数一定要等于切片切出的片数 -
序列的常用函数:
len(x) 返回序列的长度
max(x) 返回序列的最大值元素
min(x) 返回序列的最小值元素
sum(x) 返回序列中所有元素的和(元素必须是数值类型)
any(x) 真值测试,如果列表中其中一个值为真值则返回True
all(x) 真值测试,如果列表中所有值为真值则返回True -
字符串的文本解析方法 split 和join (S 代表字符串)
S.split(sep=None) 将字符串使用sep作为分隔符分割S字符串,返回分割后的字符串列表,当不给定参数时,用空白字符作为分隔符分割
S.join(iterable) 用可迭代对象中的字符串,返回一个中间用S进行分隔的字符串 -
列表推导式 list comprehension
列表推导式是用可迭代对象生成列表的表达式
作用:用简易方法生成列表
语法:
[表达式 for 变量 in 可迭代对象]
或
[表达式 for 变量 in 可迭代对象 if 真值表达式]
说明:
for in 表达式的if子句可以省略,省略后将对所有生成的对象进行求值处理 -
列表推导式的嵌套:
语法:
[ 表达式
for 变量1 in 可迭代对象1 if 真值表达式1
for 变量2 in 可迭代对象2 if 真值表达式2] -
del 语句
用于删除列表中的元素
del 列表[整数表达式]
del 列表[切片] -
L.count(x) 返回列表对应元素的个数
列表增删改查总结
增
list.append() 是将元素附加到末尾,是将它的参数视为一个元素,作为一个整体添加上去的
list.extend() 是将其参数视为一个列表,其是将两个列表链接到一起
list.insert(索引,值) 此方法指定新元素的索引和值,并将其添加到索引对应的位置删
del[索引] 删除后无法访问
list.pop() 删除列表末尾的元素(可以调用删除的元素)
list.remove() 根据值删除元素改
list[索引]=值 要修改列表元素可指定列表名和要修改元素的索引,再指定新值
查
L.index(v[,begin[,end]]) 返回列表中对应元素索引下标,若v不存在时触发valueError错误