python的列表学习
2018-08-12 19:19
99 查看
①列表list表示方法
lst = [若干个(0,1个或多个)元素(数值 字符串 列表 对象等)]
lst = list(可选可迭代对象) list可以把迭代对象一个个拿出来放列表里面
列表不能一开始定义大小
例如:l = [ ]空列表
L=list()空列表
l = [1,2]两个元素
l = [[1,2],3,[‘a’]]里面三个元素
l = [1]一个元素
l = list([1]) 这样写不报错,[1]列表是可迭代对象
l = [range(5)]一个元素
l = list(range(5))返回一个[0,1,2,3,4]列表
l = list([0,1,2])返回一个[0,1,2]列表,复合结构,[0,1,2]是可迭代对象, 这样写多余
② 列表的索引
索引也叫下标
正索引:从左到右,从0 开始
负索引:从右到左,从-1开始
正负索引不能超界,否则引发异常IndexError
左边头部 右边尾部
左边下界,右边上界
列表通过索引访问
list[index] index就是索引编号,使用中括号访问 速度较快,不用遍历
③ 列表查询
Index(val,[start,stop])
语法:列表名.index(value,[start,stop]) 返回--索引编号(int) 遍历
通过值来能查索引编号,能查到,返回第一个匹配到索引编号,查不到就报错valueError
时间复杂度是O(n),随着列表数据规模的增大,而效率下降
count(value)
语法:列表名.count(value,[start,stop]), 返回--值出现次数(int)遍历
通过值来能查出现次数,全遍历,返回值出现次数,查不到不会保错
时间复杂度是O(n),随着列表数据规模的增大,而效率下降
len(列表) --列表元素的个数int
返回列表元素的个数,不管哪里减 -1 不管哪里加 +1
④ 列表元素修改
索引访问修改
语法:list[index索引编号] = value
索引不要超界
时间复杂度O(1)
O(n)--- O(1)
⑤ 列表增加 插入元素
append(一个元素) --None 就地修改
列表尾部追加元素,返回None
返回None就意味着没有新的列表产生,就地修改
时间复杂度是O(1)
insert(索引编号,一个元素)--None 就地修改
在指定的索引index处插入元素
返回None就意味着没有新的列表产生+,就地修改
时间复杂度是O(n)
超越下界,头部追加
超越上界,尾部追加
头部追加 列表名.insert(0,“a”)
尾部追加 列表名.append(“a”)
print(l.insert/append(0,”a”)) --None
l.insert/append(0,”a”)
print(l)
extend(可迭代对象) --None
将可迭代对象的元素尾部追加进来,返回None,就地修改
l.extend(range(5))
l 就地修改
---返回一个新的列表list
两个列表直接合并
连接操作,将两个列表连接起来
产生新的列表,原列表不变
l + list(range(5)) 返回新的列表[1,2,0,1,2,3,4,]
---返回一个新的列表
重复操作,将本列表元素重复n次,返回新的列表,原列表不变
[1,2]3 [1,2,1,2,1,2]
(l13).append(list(range(5)) 还是一个元素
(l1*3).extend(list(range(5))正确的写法
lst = [若干个(0,1个或多个)元素(数值 字符串 列表 对象等)]
lst = list(可选可迭代对象) list可以把迭代对象一个个拿出来放列表里面
列表不能一开始定义大小
例如:l = [ ]空列表
L=list()空列表
l = [1,2]两个元素
l = [[1,2],3,[‘a’]]里面三个元素
l = [1]一个元素
l = list([1]) 这样写不报错,[1]列表是可迭代对象
l = [range(5)]一个元素
l = list(range(5))返回一个[0,1,2,3,4]列表
l = list([0,1,2])返回一个[0,1,2]列表,复合结构,[0,1,2]是可迭代对象, 这样写多余
② 列表的索引
索引也叫下标
正索引:从左到右,从0 开始
负索引:从右到左,从-1开始
正负索引不能超界,否则引发异常IndexError
左边头部 右边尾部
左边下界,右边上界
列表通过索引访问
list[index] index就是索引编号,使用中括号访问 速度较快,不用遍历
③ 列表查询
Index(val,[start,stop])
语法:列表名.index(value,[start,stop]) 返回--索引编号(int) 遍历
通过值来能查索引编号,能查到,返回第一个匹配到索引编号,查不到就报错valueError
时间复杂度是O(n),随着列表数据规模的增大,而效率下降
count(value)
语法:列表名.count(value,[start,stop]), 返回--值出现次数(int)遍历
通过值来能查出现次数,全遍历,返回值出现次数,查不到不会保错
时间复杂度是O(n),随着列表数据规模的增大,而效率下降
len(列表) --列表元素的个数int
返回列表元素的个数,不管哪里减 -1 不管哪里加 +1
④ 列表元素修改
索引访问修改
语法:list[index索引编号] = value
索引不要超界
时间复杂度O(1)
O(n)--- O(1)
⑤ 列表增加 插入元素
append(一个元素) --None 就地修改
列表尾部追加元素,返回None
返回None就意味着没有新的列表产生,就地修改
时间复杂度是O(1)
insert(索引编号,一个元素)--None 就地修改
在指定的索引index处插入元素
返回None就意味着没有新的列表产生+,就地修改
时间复杂度是O(n)
超越下界,头部追加
超越上界,尾部追加
头部追加 列表名.insert(0,“a”)
尾部追加 列表名.append(“a”)
print(l.insert/append(0,”a”)) --None
l.insert/append(0,”a”)
print(l)
extend(可迭代对象) --None
将可迭代对象的元素尾部追加进来,返回None,就地修改
l.extend(range(5))
l 就地修改
---返回一个新的列表list
两个列表直接合并
连接操作,将两个列表连接起来
产生新的列表,原列表不变
l + list(range(5)) 返回新的列表[1,2,0,1,2,3,4,]
---返回一个新的列表
重复操作,将本列表元素重复n次,返回新的列表,原列表不变
[1,2]3 [1,2,1,2,1,2]
(l13).append(list(range(5)) 还是一个元素
(l1*3).extend(list(range(5))正确的写法
相关文章推荐
- python学习(基础补充)--字符串、列表、元组
- Python学习第二周第一次作业——列表简介
- Python学习笔记之列表
- Python学习之列表推导式
- Python简单学习(lecture2)数字、字符串、列表、元组、字典
- python基础学习——列表(list), 元祖(tuple), 字典(dict), 字符串(string), 集合(set) 介绍及相互转换
- python学习-1-列表,元组,字典,集合,文件操作
- python学习-元组、列表
- python学习笔记 迭代和列表生成式
- python学习笔记.4使用列表的一部分,创建切片
- Python 列表解析 例子 讲解 学习 list comprehension in python demo
- python学习--列表函数
- 小Y的Python学习日志--数据类型(列表,字典)
- 零基础入门学习Python(11)--列表:一个打了激素的数组(2)
- Python 学习日记第二篇 -- 列表,元组
- Python常用的内置序列结构(列表、元组、字典)学习笔记
- Python学习 --- 列表
- python学习第三章列表的部分课后练习自己尝试的代码
- python学习——列表生成式
- python学习笔记之列表、元组、字典(1)