列表总结
序列
- 可变:列表(元素可以改变)
- 不可变:字符串、元组(元素不可以改变)
列表
创建列表:
list1 = []
切片
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(list1[2:6])
>>> [3, 4, 5, 6]
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(list1[4])
>>> 5
list1[1:6:2]
- 通过切片获取元素时,会包括起始位置的元素,不会包括结束位置的元素
(简称包左不包右,或左闭右开)
- 起始位置和结束位置的索引可以不写
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(list1[:4])
>>> [1, 2, 3, 4]
print(list1[2:])
>>> [3, 4, 5, 6, 7, 8, 9, 10]
- 如果开始位置和结束位置都省略, 则会从第一个元素开始截取到最后一个元素
list1[:]
- 步长表示每次获取元素的间隔,默认是1(可以省略不写)
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(list1[1:8:3])
>>> [2, 5, 8]
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
list1[::-1]
>>> [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
用切片作列表的增删改查
- 查询
用切片做查询其实就是通过索引做切片
- 修改
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
list1[3] = 100
print(list1)
>>> [1, 2, 3, 100, 5, 6, 7, 8, 9, 10]
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
list1[:3] = "1000"
print(list1)
>>> ['1', '0', '0', '0', 4, 5, 6, 7, 8, 9, 10]
list1[2:7] = [5, 6, 'hello']
print(list1)
>>> ['1', '0', 5, 6, 'hello', 7, 8, 9, 10]
list1 = [1, 2, 3, 4, 5,