python列表
2020-07-14 本文已影响0人
山高路陡
python列表
序列
- 基本概念
- 一种数据结构, 数据结构–指的就是计算机中储存数据的方式
- 序列的分类
- 可变序列—列表
- 不可变序列—字符串,元组
列表
- 列表的使用
- 创建列表
- lst=[]
- li=list()
- 列表可以保存任意对象,
- 索引,就是元素在列表中的位置,列表中的每一个元素都有一个索引,索引从0开始
- len(lst) 获取列表元素个数,
- 负数索引,最后一个元素的负数索引为-1,往前逐渐减一
- 创建列表
- 切片
- 从现有列表之中获取一个子列表
- 通过切片来获取指定的元素
- 语法,列表[起始, 结束[,步长]]
- 起始默认为0,结束默认为-1,步长默认为1
- 通过切片获取元素时会包含起始位置不包含末尾位置—左闭右开
- 不指定结束位置,则会从起始位置到列表末端
- 不指定开始位置,则会从0开始到结束值减1
- 全都不指定则会直接全部原列表的全部元素
- 步长默认为1
- 指定步长为n时,每次获取元素时会间隔n-1个元素
- 步长为-n时,间隔为|-n|-1,但是会从后往前获取元素
- 步长不能为0
通用操作
- + 可以将两个列表拼接成一个列表
- *n 列表重复n次
- in or not in, 值是否在列表之中,返回布尔值
- max() min(), max返回最大值,min返回值最小值
- list.index(x[, i[, j]]),返回x在列表中的索引, [, i[, j]]–>表示从i开始到j结束可选
- list.count(x),返回x在列表中的个数
- 但x不在列表中时返回–>ValueError: x is not in list
修改列表
- 使用索引修改
- del 删除元素 del s[i]
- 使用索引赋值 s[i] = x
- 切片修改
- 步长为1
- 切片时,赋值对象必须是可迭代对象,
- 赋值对象大于切片个数时,在切片结束位置后插入赋值的多余对象,切片后的元素依次后移
- 赋值对象小于切片个数时,多余的切片对象元素删除,切片后的元素依次前移
- 切片为[n: n]时会在n位置插入元素
- 步长不为1
- 赋值对象元素个数需要与切片元素个数相同
- 切片删除
- 赋值对象为空列表或空字符串
- 步长为1
列表的方法
- s.append(x),在列表末尾后添加元素x
- s.insert(i, x),向列表中指定位置(i)插入元素(x)
- s.extend(x),使用心得序列来扩展序列
- s.clear() 清空列表
- s.pop(i),根据索引(i)删除并返回删除的元素,默认删除最后一个元素
- s.remove(x),删除指定值(x)的元素,有多个时删除第一个
- s.reverse(),用来反转列表
- s.sort(reverse=False),列表元素排序,默认升序,reverse=True时降序
遍历列表
-
将列表中的元素取出来
-
for循环
-
for 变量 in 迭代对象:
代码块
-
在序列中有几个元素就执行几次,每执行一次就会将序列中的元素赋值给变量
-
-
range(start,stop[,step]) –>左闭右开
-
start=0–>默认为0
-
step=1–>默认为1
-
for i in range():
代码块
-