python列表
程序员文章站
2022-03-10 14:39:25
列表 列表(数组)由一系列按特定顺序排列的元素组成。在Python中,用方括号([ ])来表示列表,并用逗号来分隔其中的元素。 创建列表: (1)直接创建;a = [] (2) 赋值: 创建时赋值:a = [1, 2, 3] 元素赋值:a[0] = 1 (3)访问列表 print(a[0]) 列表的 ......
06列表
1 序列
一种数据结构(计算机中存储数据的方式)通过索引来操作元素
- 可变序列:列表、元组
- 不可变序列:字符串
2 列表
2.1 使用列表
- 列表可以保存任意对象,包括函数
list = ['a','b','c','d','e','f',1,None,True,max(1,2,3)]
print(type(list),list)
- 以索引取出列表中的元素,索引从0开始
- 当索引超出列表范围时,出现如下错误
- 用len()函数获取列表长度(列表元素个数)即列表长度是列表最大索引值加1
print(len(list))
- 索引可以是负数,索引为负数时,-1表示最后一个,以此类推;同时,如果超出索引范围,同样报错。
2.2 切片
通过切片来获取列表中某几个元素,组成子列表;可以获取指定元素
- 语法:列表[起始:结束:步长]。注意:取出的元素包含起始不包含结束。切片获取新列表,不会影响原列表。
print(list[1:4])
print(list)
输出结果:
['b', 'c', 'd']
['a', 'b', 'c', 'd', 'e', 'f', 1, None, True, 3]
- 省略结束位置:从当前位置一直截取到最后;省略开始位置,从第一个元素到当前位置前一个元素。
print(list[1:])#['b', 'c', 'd', 'e', 'f', 1, None, True, 3]
- 省略开始和结束,输出包含全部元素的新列表
- 步长
步长可省略,步长默认为1;也可直接指定步长。步长可以为负,不能为0;步长为负数时,从后面往前面切片。
print(list[::2])#['a', 'c', 'e', 1, True]
print(list[::-1])#[3, True, None, 1, 'f', 'e', 'd', 'c', 'b', 'a']
2.3 序列通用操作
- ‘+’ 将两个列表拼接成一个
list1 = ['a','b','c','d','e','f']
list2 = [1,2,3,4,5]
print(list1+list2)
#输出 ['a', 'b', 'c', 'd', 'e', 'f', 1, 2, 3, 4, 5]
- ‘*’ 可以将列表重复指定的次数
list3 = [2,3,4]
print(list3 * 2 )#list32 [2, 3, 4, 2, 3, 4]`
- in和 not in 返回布尔型
list1 = ['a','b','c','d','e','f']
print('f' in list1)
#True
- min() 获取列表中最小值,max()获取列表中最大值
- 两个方法(method)
方法一:s.index[元素,起始位置,结束位置]
list1 = ['a','a','b','c','d','e','f']
print(list1.index('a'))
#0
- 方法二:s.count(元素):获取指定元素在列表中出现次数
2.4 修改列表
- 通过索引
list1 = ['a','a','b','c','a','d','e','f']
list1[0] = 'apple'
print(list1)#['apple', 'a', 'b', 'c', 'a', 'd', 'e', 'f']
- 通过del
通过关键字del删除元素
list1 = ['a','a','b','c','a','d','e','f']
del list1[:2]
print(list1)#['b', 'c', 'a', 'd', 'e', 'f']
- 通过切片
list1 = ['a','a','b','c','a','d','e','f']
list1[0:3] = 'xxxxx'
print(list1)#['x', 'x', 'x', 'x', 'x', 'c', 'a', 'd', 'e', 'f']
此处列出一个错误:传递的必须是一个序列
向索引为0的位置插入元素
list1 = ['a','a','b','c','a','d','e','f']
list1[0:0] = 'x'
print(list1)#['x', 'a', 'a', 'b', 'c', 'a', 'd', 'e', 'f']
- 注意:当设置了步长时,替换的序列中元素个数必须与切片中元素个数保持一致
- 通过切片来删除元素
list1 = ['a','a','b','c','a','d','e','f']
list1[0:2] = []
print(list1)#['b', 'c', 'a', 'd', 'e', 'f']
- 向列表最后添加元素
s.append()
list1 = ['a','a','b','c','a','d','e','f']
list1.append('xxx')
print(list1)#['a', 'a', 'b', 'c', 'a', 'd', 'e', 'f', 'xxx']
- s.insert()
list1 = ['a','a','b','c','a','d','e','f']
list1.insert(2,'xxx')
print(list1)#['a', 'a', 'xxx', 'b', 'c', 'a', 'd', 'e', 'f']
- extend():使用新的序列来扩展当前序列
list1 = ['a','a','b','c','a','d','e','f']
list1.extend(['yyy','xxx'])
print(list1)#['a', 'a', 'b', 'c', 'a', 'd', 'e', 'f', 'yyy', 'xxx']
-
s.clear() 清空列表
-
s.pop()根据索引来删除,可以返回要删除的元素;不传递索引,默认删除最后一个
-
s.remove():删除指定元素,如果该元素有多个,则只删除第一个;无返回值
-
s.reverse:用于翻转列表
-
s.sort():用于对列表中元素排序,默认升序,设置reverse=Ture变为降序。
2.5 遍历列表
- 常用函数range(开始,结束,步长),包括开始,不包括结束
2 不可变序列(待续)
不可变序列,以上操作不可以直接进行;若要操作,可以进行类型转换后再
本文地址:https://blog.csdn.net/weixin_42174416/article/details/107329729
上一篇: 彻底详细学习ASP之学好ADO教程