1.列表的通用操作
1.1 +
+
可以将两个列表拼接成一个列表。
语法:
变量 = 列表1 + 列表2
1.2 *
*
可以指定列表重复的次数。
语法:
变量 = 列表 * 整型
1.3 in ,not in
in
可用来检测指定的元素是否存在于列表中,如果存在则返回True
,不在则返回False
。
not in
与 in
的作用类似,如果列表存在指定元素则返回False
,不存在则返回True
1.4 min(),max()
min()函数能够查找序列中的最小值,max()函数能够查找序列中的最大值。同时在查找完后会返回查找到的值。
语法:
min(序列)
max(序列)
min()和max()也可以查找字符串类型。
注:如果序列中有 str 和 int 两种类型的元素的话,用min()和max()查找最小和最大值会导致报错:
TypeError: ‘<’ not supported between instances of ‘int’ and ‘str’
类型错误:“int”和“str”的实例之间不支持“<”
1.5 index()
index()
方法可以获取指定元素在列表中的位置。
语法:
列表.index(元素,起始位置,结束位置)
#起始和结束位置可省略,起始默值为0,位置指的是索引
如果指定元素在列表中存在多个,则会返回最前面的指定元素。
index()方法会默认从索引0开始查找,我们也可以指定指定起始位置和结束位置。
1.6 count()
count()
方法可以统计指定元素在列表中出现的次数。返回int类型数据
语法:
列表.count(元素)
2 修改列表
2.1 通过索引值修改列表。
2.2 通过del关键字修改
del关键字可以删除列表中指定索引的元素。
语法:
del 列表[索引]
2.3 通过切片修改列表
与通过索引修改的方式类似,都是通过寻找索引值,然后修改元素。
语法:
列表[起始位置:结束位置:步长] = [元素1,元素2,...]
# 步长可省略,默认为1
- 如果替换的元素大于被切片的元素,多余的元素会往后顺延。
- 如果替换的元素小于被切片的元素,则被切片的元素修改为被替换的元素。
注:如果不指定起始位置和结束位置,但指定了大于1的步长,则会报错:
ValueError: attempt to assign sequence of size 1 to extended slice of size 3
指错误:尝试将大小为1的序列分配给大小为3的扩展切片
当设置了步长,替换的元素个数必须和切片的元素的个数一致。
2.4 通过切片删除元素
- 第一种
del关键字删除。
语法:
del 列表[起始位置:结束位置:步长]
# 步长可省,默认为1
- 第二种
通过赋空值删除
语法:
列表[起始位置:结束位置] = []
注:第二种方法不适用需要指定步长的情况,否则会报错:
ValueError: attempt to assign sequence of size 0 to extended slice of size 3
指错误:尝试将大小为1的序列分配给大小为3的扩展切片
错误提示与 2.3 中提到的错误相同,说明:替换的元素个数和切片的元素的个数不一致。
2.5 将字符串转换为列表
之前讲到的修改列表的方法不只能够由于列表,只要是可变序列(如:字典,列表),都可以通用。但是不可变序列(如:字符串)则可不用。
但是,我们也可以用list()
函数将字符串转换为列表。
语法:
字符串变量1 = list(字符串变量1)
3 列表的方法
3.1 append()
通过切片的方式我们可以将单个元素添加到列表的指定位置。
语法:
列表名[指定位置:指定位置] = [元素]
我们也可以用append()
向列表的最后的位置添加一个元素。
语法:
列表名.append(元素)
3.2 insert()
insert()
方法可以向列表的指定位置插入一个元素。
语法:
列表名.insert(指定位置,元素)
3.3 extend()
extend()
方法可以扩展当前的序列,与append()
方法不同的是,需要一个序列作为参数。
语法:
列表1.extend(列表2)
这种扩展列表的方式与:列表1 += 列表2
的方式相同。
3.4 clear()
clear()
方法可以清空列表。
语法:
列表.clear()
3.5 pop()
pop()
方法可以根据索引删除并返回删除的元素。
语法:
列表.pop(索引)
# 若不传递索引,则默认删除序列最后一个
3.6 remove()
remove()
方法可以根据指定值来删除元素。remove()
没有返回值。
语法:
列表.remove(指定值)
3.7 reverse()
reverse()
方法可以用来反转列表。效果与 列表[::-1]
的相同。
3.8 sort()
sort()
方法用来对列表中的元素进行排序。语法:
列表.sort()
# 默认升序,降序需要传递:reverse=True![在这里插入图片描述](https://img-blog.csdnimg.cn/20201108205211853.PNG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NhbHR5ZmlzaHlhbw==,size_16,color_FFFFFF,t_70#pic_center)
4 遍历列表
概念:指的是将列表中的元素提取出来。
4.1 用while循环遍历
语法:
i = 0
while i<len(列表):
print(列表[i])
i+=1
4.2 用for循环遍历
for循环的代码会执行多次,循环的次数与序列中的元素的个数相关。
语法:
for 变量 in 序列(遍历的规则):
代码块
5 range()函数
rangge()
函数可以配合for
循环,用于控制循环的次数。
语法:
range(起始,终止,步长)
# 起始 默认为0
# 终止 不包括终止,例如:range(0,5) 结果为 [0,1,2,3,4]
# 步长 默认为1
# range(5) 等价于 range(0,5) 等价于 range(0,5,1)
range()
函数也可以按一定条件取出列表的元素。
例:取出列表lst = [1,2,3,4,5,6,7,8,9]的偶数。
代码:
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for i in range(0,9,2):
print(i)
执行结果: