1、列表的概念
list是一种用有序可重复的集合,列表中元素的类型可以 不相同,它支持数字,字符串甚至可以包含列表,列表是写在方括号 []
之间、用逗号 ,
分隔开的元素列表,可以随时添加和删除其中的元素。
2、访问列表中的值
我们可以使用 下标索引 来访问列表中的值,索引值以 0
为开始值,-1
为从末尾的开始位置
list = [1,2,3,4,5,6,7,8] print(list[0]) -------------------------------------------- 1 print(list[-1]) -------------------------------------------- 8 print(list[3]) -------------------------------------------- 4
print([-2])
--------------------------------------------
7
3、更新列表
可以对列表的数据项进行 修改或更新 ,也可以使用 append()
方法来 添加 列表项,用 insert()方法来插入。
list = [1, 2, 3, 4, 5, 6, 7, 8] list[2] = 100 #更新 print('更新后的第三个元素为:',list[2]) ----------------------------------------------------- 更新后的第三个元素为:100 list.append(9) #追加 print(list) ----------------------------------------------------- [1, 2, 100, 4, 5, 6, 7, 8, 9] list.insert(3,'从这里插入') #插入 print(list) ----------------------------------------------------- [1,2,100,'从这里插入',4,5,6,7,8,9]
4、列表的删除
列表的删除语句有del语句、remove语句、pop语句和clear语句。
list = [1,2,3,4,5,6,7,8] del list[2] #按照索引删除 print(list) -------------------------------------------- [1,2,4,5,6,7,8] list.remove('8') print(list) #按照元素名删除 -------------------------------------------- [1,2,4,5,6,7] list.pop print(list) #删除最后一个元素 -------------------------------------------- [1,2,4,5,6] list.clear print(list) #清空列表 -------------------------------------------- []
5、列表脚本操作符
列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。如下所示:
# 长度 print(len([1, 2, 3])) ------------------------------------ 3 # 组合 print([1, 2, 3] + [4, 5, 6]) ------------------------------------ [1,2,3,4,5,6] # 重复 print([1, 2, 3] * 2) ------------------------------------ [1,2,3,1,2,3] # 判断 print(2 in [1, 2, 3]) ------------------------------------ True # 迭代 for x in [1, 2, 3]: print(x, end="") ------------------------------------ 123
6、切片
首先先讲下 切片的公式。 模式[start : end : step]
1.start 是切片的起始位置不填默认为0
2.end 是切片的截至位置不填默认为列表的长度
3.step是切片的跨度,也就是切片跳跃的长度,官方说法是步长,如果不指定值就是默认是1
切片取值:
alist=[1,2,3,4,5,6,7,8,9] print(alist[::]) #打印全部 print(alist[:]) #打印全部 print(alist[3::2]) #起始位置为3,截至位置为默认列表长度,步长为2, #打印出来我猜不错的话应该是取的奇数位置。 print(alist[1:4]) #取列表位置 1 到4 (记住列表位置是从0开始) print(alist[::-1]) # 这个要注意了, 这个比较高级 是对列表进行反转,简单吧 print(alist[1:100]) # 如果 截至位置大于列表长度取列表的长度。 print(alist[100:]) # 如果 起始位置大于列表长度取值为空
---------------------------------------------------------------------
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[4, 6, 8] [2, 3, 4]
[9, 8, 7, 6, 5, 4, 3, 2, 1]
[2, 3, 4, 5, 6, 7, 8, 9]
[]
**注意:以上所有操作都不会改变原列表,会重新创建一个列表。
切片赋值:
alist=[1,2,3,4,5,6,7,8,9] alist[len(alist):]=[10] #在尾部增加列表 alist[:0]=[0] #在开始位置前增加列表 alist[2:2]=[100] #在3位置插入列表 alist[3:4] #打印的结果为 [4] alist[3,3]=[] alist[:8]=[12] #初始位置到7 都变成【12】 print(alist) alist[2:]=[13] #从第三个位置到结尾 变成【13】 alist[::2]=[0]*5 #隔一个进行修改, print(alist) ------------------------------------------------------------------- [0, 2, 0, 4, 0, 6, 0, 8, 0] #注意要修改的数量要和右边的等号相等 如果不等就报错 alist[::2]=[0]*4 print(alist) ------------------------------------------------------------------- #ValueError: attempt to assign sequence of size 4 to extended slice of size 5 alist[:3]=[] #删除前三个元素 del alist[:3] #用del 删除前三个 del alist[::2] print(alist) #奇数位置都要删除 ------------------------------------------------- [2, 4, 6, 8]