列表
特点
- 列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据。
- 列表是有序的,有索引值,可切片,方便取值。
例: 一个列表
lst = [4,5,6,"yangmei",[1,2,3]] #其中[1,2,3]存储在一个物理地址上
一、列表索引
列表索引同字符串索引,左往右从零开始,右往左从-1开始
lst = [4,5,6,"yangmei",[1,2,3]]
print(lst[1]) # 列表中第二个元素
注意: 列表是可以进行修改的,这里和字符串不一样,下面会讲到
二、列表切片
列表切片同字符串,一样有上标下标,一样有步长,而且切片时同样不读取终止索引的元素
lst = [4,5,6,"yangmei",[1,2,3]]
print(lst[0:2]) #输出结果为 [4,5]
print(lst[:2]) #输出结果为 [4,5]
print(lst[0:4:2]) #输出结果为 [4,6]
print(lst[::-1]) #倒着带步长,输出结果为 [[1, 2, 3], 'yangmei', 6, 5, 4]
print(lst[-1:-3:-2]) #倒着带步长,输出结果为 [[1,2,3]]
三、列表的增删改查
1.增⭐
注意 list和str是不一样的. lst可以发生改变. 所以直接就在原来的对象上进行了操作
1.1追加模式
命令格式:
列表名.append(''追加内容'')
例:
lst = [4,5,6,'yangmei',[1,2,3]]
lst.append('yanglang')
print(lst) #输出结果为[4, 5, 6, 'yangmei', [1, 2, 3], 'yanglang']
1.2插入模式
命令格式:
列表名.insert(插入位置的索引,'插入的元素')
例:
lst = [4,5,6,'yangmei',[1,2,3]]
lst.insert(1,'m') #插入在1索引的位置,则其他元素后移
print(lst) #输出结果为 [4,'m',5,6,'yangmei',[1,2,3]]
1.3迭代添加
命令格式:
列表名.extend(['元素1','元素2','多个元素'])
例:
lst = [4,5,6,'yangmei',[1,2,3]]
lst.insert(1,'m') #在索引1的位置插入字符串m
lst.extend([111,222,333])
print(lst) #输出结果为 [4, 'm', 5, 6, 'yangmei', [1, 2, 3], 111, 222, 333]
2.删⭐
2.1 pop通过下标删除元素
命令格式: #默认删除最后一个元素
列表名.pop()
例:
lst = [4,5,6,'yangmei',[1,2,3]]
lst.pop()
print(lst) #输出结果为 [4, 5, 6, 'yangmei']
lst = [4,5,6,'yangmei',[1,2,3]]
lst.pop(2)
print(lst) #输出结果为 [4,5,'yangmei',[1,2,3]]
2.2 remove通过元素删除
命令格式: #删除列表中的指定元素
列表名.remove(‘元素’)
例:
lst = [4,5,6,'yangmei',[1,2,3]]
lst.remove(6)
print(lst) #输出结果为 [4, 5, 'yangmei', [1, 2, 3]]
2.3 clear 清空元素
命令格式: #列表清空
列表名.clear()
例:
lst = [4,5,6,'yangmei',[1,2,3]]
lst.clear()
print(lst) #输出结果为 []
3.改⭐
列表与字符串不同的是,字符串的修改方式是部分替换,而列表是元素覆盖
索引修改:
lst = [4,5,6,'yangmei',[1,2,3]]
lst[1]=6 #把1号元素改为6
print(lst) #输出结果为 [4, 6, 6, 'yangmei', [1, 2, 3]]
切片修改:
lst = [4,5,6,'yangmei',[1,2,3]]
lst[1:4:2]=[2,2] #如果步长不是1, 要注意元素的数
print(lst) #输出结果为 [4, 2, 6, 2, [1, 2, 3]]
4.查询⭐
列表是一个可迭代对象,所以可以进行for循环
lst = [4,5,6,'yangmei',[1,2,3]]
for i in lst:
print(i)
输出结果为:
4
5
6
yangmei
[1,2,3]
四、列表嵌套
注意:采用降维操作,一层一层的看就好
lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
print(lis[3][2][1][1])
输出结果为: 3
列表中元素做更改时,可以配合字符串的方法,在列表中检索字符串元素再做更改