1、列表作用
按位置存储多个值,由索引对应值,索引反映值得位置。
2、列表的定义
l=[1,2,3,4,5,7,'a'] #l=list([1,2,3,4,5,7,'a'])
print(type(l)
3、列表的类型转换
但凡能够被for循环遍历的类型都可以当作参数传给 list()进行转换,如字符串、字典等。
#字符串
res=list('hello')
print(res)
#等同于
l=[]
str1='hello'
for i in str1:
l.append(i)
print(l)
#字典
res=list({'k1':111,'k2':222,'k3':333})
print(res)
4、列表内置方法
#1、按索引取值
l=[111,'gcy','hello']
#正向取
print(l[0])
#方向取
print(l[-1])
#可以取也可以改
l[0]=222 #索引存在则修改对应的值
print(l)
l[3]=333 #索引不存在则不能对其进行赋值,报错。 无论是取还是赋值,索引不存在就报错。
#2、切片(顾头不顾尾,步长)
l=[1,2,3,4,5,6,'abc']
res=l[0:3] #取值范围为索引0到索引2,索引3无法取得
print(res)
l=[1,2,3,4,5,6,'abc']
res=l[::-1] #反向取值,从末尾元素开始取值
print(res)
l=[1,2,3,4,5,6,'abc']
res=l[:]
print(res) #切片等同于copy ,且是浅拷贝
#3、长度
l=[1,2,3]
print(len(l))
#4、成员运算 in
l=[1,2,3]
print(1 in l)
#5、列表中添加值
#5.1 追加
l=[0,1,2]
l.append(5)
print(l)
#5.2插入值
l=[0,3,5]
l.insert(1,'gcy') #insert(x,y) 第一个参数为索引,第二个参数为插入索引位置对应的值
print(l)
#5.3 将一个可迭代对象的元素追加在一个列表之后
new_l=[1,2,3]
l=[2,3,4]
l.extend(new_l) #extend("可迭代对象")
#6、列表删除值
#方式一:del()
l=[1,2,3,4]
del(l[1]) #del为通用的删除方法,无返回值,只是单纯的删除
print(l)
# 方式二: list.pop() 删除后有返回值,返回删除的值
l=[1,'gcy',2,3,4]
l.pop(2) #传入一个参数即索引,根据索引进行删除,不指定索引,默认删除最后一位元素
print(l)
#方式三: list.remove() 一个参数,无返回值
l=[1,2,3,[1,1,2]]
l.remove(1) #根据元素进行删除,必须指定
print(l)
内置方法补充:
l=[1,2,'gcy']
l.count(1) #统计参数出现的次数
l.index(2) #返回从左到右第一个出现寻找值的索引,不会继续向后寻找
l.clear() #删除列表所有元素
l.reverse() # 将列表元素反转,直接修改原列表
l.sort() #将列表进行排序,参数Key(后续进行补充),reverse,reverse默认=False 为升序,降序reverse=True
l=[1,'a','c',3] #当列表中存在不同种元素,sort不能进行排序