多平台统一管理软件接口,如何实现多平台统一管理软件接口
305
2022-08-27
列表(列表网免费发布信息网)
为什么需要列表
1.变量可以存储一个元素,而列表是一个“大容器”,可以存储N多个元素,程序可以方便地对这邪恶数据进行整体操作。
2.列表相当于其他语言中的数组(例如C)。
3.列表示意图
索引(逆向) -3 -2 -1
数据 "hello" "world" 123
索引(正向) 0 1 2
a = 10 #变量a存储的是一个对象的引用lst = ['hello','world',123] #lst存储多个对象,可操作多个对象print(id(lst))print(type(lst))print(lst)'''lst的id值与列表中元素的id值都不相同,它们之间是一个指向的关系,lst的id指向首元素的id'''
列表的创建
print('-------------列表的创建-----------')#第一种方式,使用[]lst1 = ['hello','world','789']print(lst1)#第二种方式,使用内置函数list()lst2 = list(['hello','world','456'])print(lst2)
列表的特点
1.列表元素按顺序有序排序
2.索引映射唯一一个数据
3.列表可以存储重复数据
4.任意数据类型混存
5.根据需要动态分配和回收内存
列表的查询操作
1.获取列表中指定元素的索引(index())
1.如查列表中存在N个相同元素,只返回第一个元素的索引
2.如果查询的元素在列表中不存在,则抛出ValueError
3.还可以在指定的start和stop之间进行查找
print('-----------------列表的查询操作----------------------')print('--------index()索引--------')lst = ['hello','world',123,'hello']print(lst.index('hello'))#查找字符串hello,返回元素所在索引位置,即0print(lst.index('hello',1,3))#在start = 1 和 stop = 3之间查找hello,没有找到,抛出ValueErrorprint(lst.index('python'))#在列表中查找字符串python,没有找到,抛出ValueError
2.获取列表的单个元素
正向索引从0到N-1,lst[0] lst[1] ........... lst[N-1]
逆向索引从-N到-1,lst[-N] lst[-(N-1)] ............... lst[-1]
指定元素不存在,抛出IndexError
print('--------获取列表的单个元素-------')lst = ['hello','world',652]print(lst[0],lst[1],lst[2])#正向索引print(lst[-3],lst[-2],lst[-1])#逆向索引print(lst[4])#指定索引不存在,抛出IndexError
3.获取列表中的多个元素
语法格式 列表名[start:stop:step]
切片操作
切片的结果:原列表片段的拷贝
切片的范围:[start,stop]
step默认为1:简写为[start:stop]
step默认为正数:[:stop:step],切片的第一个元素默认是列表的首元素
[start::step],切片的最后一个元素默认是列表的最后一个元素
从start开始往后计算切片
step默认为负数:[:stop:step],切片的第一个元素默认是列表的最后一个元素
[start::step],切片的最后一个元素默认是列表首元素
从start开始往前计算切片
print('--------获取列表的多个元素--切片--------')#!!!!!注意,到stop就停止,不包括stop所指元素lst = [10,20,30,40,50,60,70,80]print(lst[1:6:1])print(lst[1:6]) #输出的元素与前一行输出元素相同lst2 = lst[1:6:1]print('原列表:',id(lst))print('切的片段',id(lst2)) #新的列表#step为正数print(lst[1:6:2]) #步长为2,从1开始输出,输出20,40,60print(lst[:6:2]) #默认从首元素开始输出,输出10,30,50print(lst[1::2]) #默认输出到最后一个元素,输出20,40,60,80#step为负数print(lst[::-1]) #逆序输出列表print(lst[7::-1]) #步长为1,从7开始往前输出元素,输出到首元素停止print(lst[6:0:-2]) #步长为2,从6开始往前输出元素,输出到索引位置0停止
4.判断指定元素在列表中是否存在
元素 in 列表名
元素 not in 列表名
print('------判断指定元素是否存在----------')print('p' in 'python')print('w' not in 'python')lst = [123,456,789]print(123 in lst)print(456 not in lst)
5.列表元素的遍历
for 迭代变量 in 变量名
操作
print('-------列表元素的遍历----------')lst = ['hello','world',652]for item in lst: print(item)
列表元素的增加操作
1.append() -- 在列表的末尾添加一个元素
print('-------列表元素的增加操作-----------')print('--------append()-----------')lst = [10,20,30]print('原列表:',lst,id(lst))lst.append(100)print('增加元素后:',lst,id(lst))#id值没有发生改变,说明在原来的列表上增加元素,没有创建新的列表lst2 = [40,50,60]lst.append(lst2) #将lst2作为一个元素添加print(lst)
2.extend() -- 在列表的末尾至少添加一个元素
print('----------extend()----------')lst = [60,70,80,90]lst2 = [100,110,120]print(lst)lst.extend(lst2) #将lst2中的元素一个一个的添加print(lst)
3.insert() -- 在列表的任意位置添加一个元素
print('--------insert()---------')lst = [569,640,652,654,671]print(lst)lst.insert(2,641) #在索引为2的位置上添加641,其他元素向后依次移动print(lst)
4. 切片 -- 在列表的任意一个位置至少添加一个元素
print('-------切片-------------')lst = [True,False,'hello']lst1 = [True,True]print(lst)lst[2:] = lst1 #在索引为2的位置上添加元素,后面元素全部切掉print(lst)
列表元素的删除操作
1.remove()
1.一次删除一个元素
2.重复元素只删除第一个
3.元素不存在,抛出ValueError
print('---------------列表的删除操作---------------')print('-----remove()------------')lst = [10,20,30,40,50,60,30]print(lst)lst.remove(30) #重复元素值删除第一个print(lst)lst.remove(100) #元素不存在,抛出ValueError
2.pop()
1.删除一个指定索引位置上的元素
2.指定索引不存在,抛出IndexError
3.不指定索引,则删除列表中最后一个元素
print('---------pop()--------')lst = [10,20,30,40,40,50,60]print(lst)lst.pop(4)print(lst)lst.pop(10)
3.切片 -- 一次至少删除一个元素
print('------切片--------')lst = [50,60,70,10,20,30]new_lst = lst [0:3]print(lst)print(new_lst) #产生一个新的列表对象lst[0:3] = []print(lst) #不产生新的列表对象
4.clear() -- 清空列表
print('-------clear()-------')lst = [10,30,50]print(lst)lst.clear()print(lst)
5.del -- 删除列表
print('-----del----')del lstprint(lst)
列表元素的修改操作
1. 为指定索引的元素赋予一个新值
2.为指定的切片赋予一个新值
print('---------列表元素的修改操作----------')lst = [10,20,30,40]print(lst)lst[2] = 100print(lst)lst[1:3] = [400,500,600,700]print(lst)
列表元素的排序操作
1.sort()
调用sort()方法,列表中的所有元素默认按照从小到大的顺序进行排序,可以指定reverse = True,进行降序排序
2.sorted()
调用内置函数sorted(),可以指定reverse = True,进行降序排序,原列表不发生改变
print('--------列表的排序操作--------')lst = [20,40,10,98,54]print(lst,id(lst))lst.sort()print(lst,id(lst)) #不产生新的列表对象lst.sort(reverse = True) #降序排序print(lst)lst.sort(reverse = False) #反之升序排序print(lst)new_lst = sorted(lst)print(lst,id(lst))print(new_lst,id(new_lst)) #产生新的列表对象
列表生成式
语法格式
[i*i for in range(1,10)]
print('-------列表生成式-----------')lst = [i for i in range(1,10)]print(lst)#lst中元素为1 2 ... 9lst = [i*2 for i in range(1,10)]print(lst)#lst中元素为1*2 2*2 ... 9*2lst = [i*i for i in range(1,10)]print(lst)#lst中元素为1*1 2*2 3*3 ... 9*9
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~