列表
1、定义
1、列表是一种容器,里面可以存放任何类型的数据
2、列表中元素是有序的
2、示例
L = [] 空列表
L1 = [100,"python","AID1803"] 三个元素
L2 = [100,[1,2,3],"小昭"] 三个元素
` 从列表中取出指定元素
L1[0]=100
L1[1]=python
L1[2]=AID1803
3、常用方法
len(列表) # 列表的长度
max(列表) # 列表中元素的最大值
# max(1,8,3)
L.append() # 在列表中追加一个元素
L = [1,2,3]
L.append(4)
L -> [1,2,3,4]
L.sort() # 排序(从小到大)
L.sort(reverse=True) #排序(从大到小)
4、列表的构造函数 list
list() # 生成一个空的列表 等同于 []
list(iterable) # 用可迭代对象创建一个列表
示例:
>>> list()
[]
>>> list("hello")
['h', 'e', 'l', 'l', 'o']
>>> list(range(1, 10, 2))
[1, 3, 5, 7, 9]
5、列表的比较运算:
运算符:
< <= > >= == !=
示例:
[1,2,3] < [1,2,4] # True
[1,3] > [1,2,4] # True
[5] < [5, 0] # True
["ABC", "123"] > ['abc', '456'] # False
[1, "two"] > ["two", 1] # TypeError
[1, 2] < [3.3, 4] # True
[1] < ['2'] # TypeError
列表的索引:
语法:
列表[整数表达式]
用法:
取值时,等同于字符串的索引操作
索引分为正向索引和反向索引,规则与字符串索引规则完全相同
列表的索引赋值
列表是可变的序列,可以通过索引赋值改变列表中的元素
示例:
L = [1,2,3,4]
L[2] = 3.3 # 将第三个元素改为 3.3
列表的切片
语法:
列表[:]
列表[::]
列表的切片取值时,返回一个列表,规则等同于字符串切片规则
列表的切片赋值:
作用:
可以改变原列表的排序,可以插入和修改数据
可以用切片改变列表的对应元素的值
语法:
列表[切片] = 可迭代对象
注: 赋值运算符的右侧必须是一个可迭代对象
示例:
L = [2, 3, 4]
L[0:1] = [1.1, 2.2] # L = [1.1,2.2,3,4]
L = [2, 3, 4]
L[1:] = [3.3, 4.4, 5.5]#L=[2,3.3,4.4,5.5]
L = [2, 3, 4]
L[:] = [0, 1] # L = [0, 1]
L = [2, 4] # 实现中间插入 [3.1, 3.2]
L[1:1] = [3.1, 3.2] # L = [2,3.1,3.2,4]
L = [2,3,4] # 实现在前面插入[0,1]
L[0:0] = [0, 1]
L = [2,3,4] # 实现在后面插入[5,6]
L[3:3] = [5, 6]
L = [1,4] # 用range函数生成的可迭代对象赋值
L[1:1] = range(2,4)
L = [2,3,4]
L[1:2] = "ABCD" # "ABCD"也是可迭代对象
切片赋值注意事项:
对于步长不等于1的切片赋值,赋值运算符右侧的可迭代对象提供的元素个数一定要等于切片切出的段数
例:
L = [1,2,3,4,5,6]
L[::2] = "ABC" # 对的
# 以下切出三段,但给出5个元素填充是错的
L[::2] = "ABCDE"
删除列表中的元素
del语句:
语法
del 序列[整数表达式]
del 序列[切片]
示例:
L = [1,2,3,4,5,6]
del L[-1] # 删除最后一个 6
del L[0] # 删除第1个 1
del L[::2] # 删除 2,4
L.pop([index]):
作用:
删除索引对应的元素,如果不加索引,默认删除最后元素,同时返回移除元素
L.remove(x)
作用:
从列表中删除第一个次出现在列表中的值
返回None
python3常用于序列的函数:
len(seq) 返回容器的元素个数
max(x) 返回序列的最大值元素
min(x) 返回序列的最小值元素
sum(x) 返回序列中所有元素的和(元素必须是数值类型)
any(x) 真值测试, 如果容器内其中一个值为True则返回True,否则返回False
all(x) 真值测试, 容器内所有元素的布尔值为True才返回True