python3之列表(list)
一、序列
包含多项数据,数据项(成员)按顺序排列,可以通过索引来访问成员
序列类型
基础序列类型: list, tuple, range
文本字符串序列: string
二进制数据序列: bytes, bytearray, memoryview
二、列表
由一系列按特定顺序排列的元素组成,可以随时添加和删除其中的元素
定义
list_name = [value1, value2, value3,...]
或者
list_name = list(iterable)
三、列表操作
1 索引
list_1 = list(r'https://docs.python.org/release/3.8.4/library/stdtypes.html') list_1[2] 从列表中取出index=2的元素,索引超出列表长度引发 IndexError 异常 list_1[-4] 从列表中取出倒数第四个元素,最右边的元素index=-1,索引超出列表长度引发 IndexError 异常 list_1[5:15] 切片,从列表中取出index范围为[5,15)(不包括15)的子列表 list_1[7:-4] 切片,从列表中取出index范围为[7,-4)(不包括-4)的子列表 list_1[-4:-2] 切片,从列表中取出index范围为[-4,-2)(不包括-2)的子列表 切片时,索引超出列表长度也不会引发异常
2 运算
list_1 = list(range(10)) list_2 = ['aaa', 123, 'sss', 987, 'T', 342] list_3 = list_1 + list_2 列表拼接 list_4 = list_2 * 3 列表重复3次 len(list_4) 获取列表的长度,即列表的元素个数 5 in list_1 'AAA' in list_1 列表中包含给定元素返回 True,否则返回 False 99 not in list_2 'aaa' not in list_2 列表中不包含给定元素返回True,否则返回 False
四、列表方法
1 增加列表元素
list_name.append(value) 在列表末尾的添加一个值为value的元素 value可以是单个值,也可以是元组或者列表,value是元组或者列表时,元组或列表会被当成单个元素 list_name.extend(list|tuple|range) 在列表末尾追加一个列表或元组或range,里面的元素会被拆分为多个单个元素 list_name.insert(index, value) 在列表索引index处插入元素value,index超出列表长度,则在列表末尾插入
2 删除列表元素
del list_name[start:end:step] 从列表中删除index范围[start, end)(不包括end),间隔为step的元素 list_name.clear() 清空列表所有值,原列表变成空列表 list_name.remove(value) 从列表中删除第一个为value的元素,若value不在列表中,引发 ValueError 异常 list_name.pop(index) 从列表中删除索引为idnex的元素,并且返回该元素的值 若不提供index,表示删除最后一个元素
3 修改列表
list_name[index] = new_value 把列表index处的值修改为new_value,index超出列表长度,引发 IndexError 异常 list_name[start:end] = new_value 把列表index范围为[start, end)(不包括end)的值修改为 new_value new_value必须是iterable,iterable的长度不一定和[start, end)范围相等
4 其他方法
list_name.count(value)
返回元素在列表中出现的次数
list_name.index(value)
返回元素在列表中首次出现的索引,若value不在列表中,引发 ValueError 异常
list_name.reverse()
返回按相反顺序排列后的列表
list_name.sort()
返回升序排列后的列表