python学习_004
列表索引,查找,修改,扩展
list
- [] list() 创建空列表
- 列表中的元素,可以时任意类型, 可迭代对象也可以
- 可以使用 range() 生成 元素
#创建列表的方式
a=list()
b=[]
print(type(a),type(b))
#使用 range 生成元素
c=list(range(10))
print(c)
索引
- 列表分为正索引和负索引
- 负索引 = 正索引 - 长度
- 索引不能溢出,溢出就会报 IndexError 错误
c=[1,2,3,4,5]
print(c[-4],c[1]) # 负索引(-4) = 正索引(1) - 长度(5)
c[5] #访问错误,索引溢出
2 2
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-17-4f3d8a83a406> in <module>
1 c=[1,2,3,4,5]
2 print(c[-4],c[1]) # 负索引(-4) = 正索引(1) - 长度(5)
----> 3 c[5]
IndexError: list index out of range
查询
- index(值) 返回正索引 列表.index(值)
遍历列表,返回,匹配的值的下标
c=[1,2,3,2,2,2,2,2]
c.index(2) #返回索引值 第一个匹配的值
#type(c.index(2)) #返回 int 类型
- count(值) 列表.count(值)
返回该列表中,这个值出现的个数, 时间复杂度为 O(n) 需要遍历列表中所有元素,效率不高
通过列表下标找元素 时间复杂度为 O(1) 一步到位
c=[1,2,3,2,2,2,2,2]
print(c.count(2)) #遍历所有,进行计数 返回int类型
- len(object) 返回长度
常用于列表字符串, 时间复杂度为 O(1) 因为是直接读取列表的属性
修改
- append(object) 返回值为 None 列表.append(object)
向某个列表尾部添加元素 ,只能添加一个
- insert(index,value) 列表.insert(index,object)
向指定位置加入元素, 后面元素需向后挪,拥有性能问题 超出右边界时,默认添加到尾部 超出左边界时,添加到头部
扩展
- extend(object) 列表.extend(object) 返回值为None
可向列表尾部追加多个元素, 可以是可迭代对象
- list + [0,1,2,3]
返回一个新的列表,源列表不会发生任何改变,可以无限添加
列表不能和 int 进行相加 不同类型之间不建议使用加法