列表:
特殊点:列表里的数据可以是不同的类型,也可以重复存放同一数据
内存类型:列表中存储的是id,其中id指向不同的数值,同时列表对象也有一个id,指向存储不同类型的列表。
列表的创建:
1.使用方括号:
1st=['hello','world',98]
2.使用内置函数list:
lst2=list(['hello','world',98])
列表的索引:
从前到后:是从1开始的
从后到前:是从-1开始到-N
index:
1.如果列表中有相同元素只返回第一个。
2.如果列表中不含有该元素,则出现ValueError
3.还可以在指定的start和stop之间查找
print(lst.index('hello',1,3))
代码解释:即在lst的列表下利用index索引lst[1]与lst[2]之间的'hello'字符串
获取列表的多个元素
lst[start:stop:step](切片是一个新的列表对象)
默认start从0开始,step为1,stop为最后一个
若step为负数,则相当于将列表反过来
所有的切片均不包括stop的数值
列表元素的判断与遍历
1.列表元素的判断
in / not in
2.列表元素的遍历
for 迭代变量 in 列表名(即迭代变量会依次迭代列表里的数据)
列表元素的增加操作
向列表末尾增加一个元素
append:(想列表的末尾添加一个元素)
e.g lst.append(100)
在增加时并不会产生新的列表对象
向列表的末尾一次性添加多个元素:
extend:
e.g lst1=[1,2,3,'hello']
lst2=['end','it']
#利用append
lst1.append(lst2)--->lst1=[1,2,3,'hello',['end','it']]#把lst2作为一个元素插入到最后
lst1.extend(lst2)--->lst1=[1,2,3,'hello','end','it']
在任意位置上添加一个元素
insert:
e.g lst.insert(1,90) #在索引为一上添加90
在任意位置上添加多个元素
e.g lst[1:]=lst3 #是将lst从1至最后的元素用lst3替换掉(并不是增加)
列表元素的删除操作
从列表中移除一个元素
remove:(如果有多个重复元素 ,则只移除第一个)
e.g lst.remove(30)
删除一个索引位置上的元素(默认为最后一个)
pop:
e.g lst.pop(1)
删除至少一个元素
利用切片操作,产生一个新的列表
不产生新的列表元素:
e.g lst[1:3]=lst[] #将lst[1:3]位置删除
clear:清除列表,但不会把它删掉
del:删除列表对象
列表元素的修改
一次修改一个值
e.g lst[2]=100
修改多个值,同上
列表元素的排序
调用sort(),默认为升序
没有产生新的列表对象
降序:
lst.sort(reverse=True)
调用内置函数sorted(),会产生一个新的列表对象
lst2=sorted(lst1) #括号中可以加上reverse=True/False来控制升降序
列表生成式:
lst=[i for i in range(1,10)]