列表
1. 序列(sequence)
1.1 基本概念
- 序列是Python中最基本的一种数据结构。序列用于保存一组有序的数据,所有的数据在序列当中都有一个唯一的位置(索引)并且序列中的数据会按照添加的数序来分配索引
- 数据结构:指计算机中数据存储的方式
1.2 序列的分类
- 可变序列 (序列中的元素可以改变):例如 列表(list) 字典(disct)
- 不可变序列(序列中的元素不能改变): 例如 字符串(str) 元组(tuple)
2. 列表(list)
- 列表是Python中的一个对象
- 列表的作用
- 列表中可以保存多个有序的数据
- 列表用来存储对象的对象
2.1 列表的使用
- 列表的创建:通过[ ] 来创建一个空列表
- 一个列表中可以存储多个元素,也可以在创建列表的时候,指定列表当中的元素
- 当列表当中添加多个元素要用 , 隔开
- 列表可以存储任意对象
- 索引:
- 我们可以通过索引(index)来获取列表当中的元素
- 索引就是元素在列表当中的位置,索引从零开始,列表的第一个位置是 0 ,第二个是 1 以此类推
- 索引可以是负数
- 如果索引是负数 则从后往前获取元素 -1表示倒数第一个 -2表示倒数第二个 以此类推
- len() 获取列表的长度
- 是列表的最大索引值 + 1
- 是列表的最大索引值 + 1
2.2 切片
-
切片是指从现有列表中 获取一个子列表
-
通过切片来获取指定的元素
-
语法 :
- 列表 [ 起始位置:结束位置 :步长]
-
通过切片获取元素时,会包括起始位置的元素,不会包括结束位置的元素
- 做切片操作时,总会返回一个新的列表,不会影响原来的列表
-
起始位置和结束位置的索引可以不写
- 如果我省略结束位置,则会从当前的开始位置一直截取到最后
例:print(列表名[ 1: ]) - 如果省略开始位置,则会从第一个元素截取到结束位置的元素,但是不包括结束的元素
例:print(列表名[ :3]) - 如果开始位置和结束位置都省略,则会从第一个元素截取到最后一个元素
- 如果我省略结束位置,则会从当前的开始位置一直截取到最后
-
步长, 表示每次获取元素的间隔,默认是1(可以省略不写)
-
步长不能为0,但可以使负数
3. 通用操作
-
“ + ”号 和 “ * ”号
- “+”号表示将2个列表拼接成一个列表
- “*”号, 将列表中的元素指定重复的次数
列表与列表不能相乘
- “+”号表示将2个列表拼接成一个列表
-
in 和 not in
- in
- 表示用来检查指定元素是否在列表当中,如果 在 返回True,如果不在返回 False
- not in
- 表示用来检查指定元素是否不在列表当中,如果 不在 返回True,如果 在 返回 False
- in
-
len() 获取列表中元素的个数
-
max() 获取列表中最大值
-
min() 获取列表中最小值
- 方法和函数的区别 方法必须通过 对象. 方法() xxx.yyy() zzz()
[注:max,min,print,input,…,这些是函数 ]import requests requests.get() #方法
- s.index(x[ , i [ , j ] ] ) 获取指定函数在列表当中的位置
第二个参数 表示查找的起始位置
第三个参数 表示结束位置
- s.index(x[ , i [ , j ] ] ) 获取指定函数在列表当中的位置
- s.count(x) 统计指定元素在列表中出现的次数
4. 修改列表
- 通过切片来修改(起始就是给切片的内容重新赋值,但是赋值的内容必须是一个序列)
- 通过切片来删除元素
-
删除元素
- del list[起始 : 结束]
切片删除
- del list[起始 : 结束]
-
修改元素
- 在给切片进行赋值 必须传递一个序列
可以用三个元素替换序列中的两个元素
(字符串是序列,整数不是序列)
- 起始位置和结束位置都为0,向索引为0 的位置插入元素
- 当设置了步长时,序列中的元素的个数必须和切片中元素的个数一致
- 想要修改不可变序列,将不可变序列强制类型转换成列表
xxx = list (xxx)
- 在给切片进行赋值 必须传递一个序列
-
5. 列表的方法
-
xxx.append(“”)
向列表最后添加一个元素 -
xxx.insert( 参数1,参数2)
向列表指定位置插入一个元素, 参数1=要插入的位置, 参数2=要插入的元素 -
xxx.extend([ xx,xx ])
使用新的序列来扩展当前序列 -
xxx.clear( )
清空列表 -
xxx.pop(位置)
根据索引删除并返回指定元素,如果不传索引值就删除最后一个元素 -
xxx.remove( 值 )
删除指定值,如果相同值的元素有多个,只会删除第一个 -
xxx.reverse()
反转列表 -
xxx.sort( )
用来对列表中的元素进行排序
排序 reverse :True 反序;False正序
6. 遍历列表
- 遍历列表指的是将列表当中的元素提取出来
6.1 for 循环
- 通过for循环遍历列表
语法
for 变量 in 序列(遍历的规则):
代码块
- 注意:for循环的代码块会执行多次,序列中有几个元素就会执行几次。每执行一次就会将序列中的一个元素赋值给变量,所以我们可以通过变量来获取列表中的元素
6.2 range(start,stop,step)
start 开始. 计数从start开始默认从0开始 例如 range(5) 等价于range(0,5)
stop 结束. 计数从stop结束 但是不包括stop 例如range(0,5) 结果 [0,1,2,3,4]没有5
step 步长. 默认为1 例如range(5) 等价于 range(0,5,1)