1. 列表的定义
列表就是一系列数据的顺序组合,并且组合之后可以修改,是一种使用最频繁的数据类型 标识符:[] 关键字:list 元素:多个元素,元素数据类型可以学习的所有的数据类型,元素与元素之间用逗号隔开
# 定义一个空列表 lst = [] print(len(lst),type(lst)) # 定义一个非空列表 lst1 = [100,3.14,True,'hello world',[1,2,3]] print(len(lst1),type(lst)) # 获取列表的长度 len() # 查看列表类型 type() # 列表的拼接 + lst2 = [100,200,300] print(lst1+lst2) # 列表的多次输出 * print(lst2*2)
2. 列表操作--查
特点:有序可变 有索引值,每个元素有一个唯一对应的索引值,正序、反序 可变:原来的列表中的元素值是可以修改的 查看、增加、修改、删除 对列表中单个/部分元素进行获取与查看 取值:列表单个元素获取,语法:列表名[索引值] 切片:列表多个元素获取,语法:列表名[start:end:step]
# 案例:lst = [100,11.33,True,'hello python',[1,2,3]] lst = [100,11.33,True,'hello python',[1,2,3]] # 列表中单个元素的获取 print('输出hello python:',lst[3],type(lst[3])) print('输出hello python:',lst[-2]) # 列表中多个元素的切片操作 print('输出[11.33,True]:',lst[1:3],type(lst[1:3])) # 嵌套列表值的获取 res1 = lst[-1] #[1, 2, 3] res2 = res1[1] res21 = lst[-1][1] print('输出2:',res21) print('输出2:',lst[-1][1]) #一层一层获取 print('输出h:',lst[-2][0]) # 列表元素倒序输出 print(lst[::-1])
3. 列表操作---增
在原列表上增加单个或多个元素追加, 列表名.append(value):在原列表中尾部追加值,每次只能添加一个元素 列表名.insert(索引值,新值):在原列表的指定索引位置插入值 列表名1.extend(列表名2):扩展,将一个列表中的元素添加另外一个列表。效果等同于两个列表相加
# 案例: # 从控制台接受输入的姓名和班级,并将数据添加在空列表中存储 userlist = [] name = input('姓名:') classroom = input('班级:') print('原列表显示:',userlist) userlist.append(name) #增加元素的操作 userlist.append(classroom) #增加元素的操作 print('加入姓名/班级后的列表显示:',userlist) # 在第一题的列表中的最前面位置插入编号:101 id = input('编号:') userlist.insert(0,id) print('加入编号后的列表显示:',userlist) # 定义一个新列表 lst = [1,2,3] lst2 = ['a','b'] print('原列表',lst) # 这只是一个操作的过程,结果一定要查看原列表才能可以看出效果 lst.extend(['a','b']) print('扩展后的列表',lst) lst2.extend('hello') str1 = 'hello' str2 = list('hello') #列表的转换函数,int(),float() print('扩展后的列表',lst2) # lst2.extend(100) #报错,因为整数时不可拆分的整体 # print('扩展后的列表',lst2)
4. 列表操作---删
对列表单个/部分元素进行删除 列表名.remove(元素值):在原列表中根据值删除(从左到右找到第一个删除) 列表名.pop(索引值):在原列表中根据索引删除某个元素,不加索引值,默认删除最后一个元素 列表名.clear():清空原列表 del 列表名[索引值]:根据索引值删除单个元素/多个元素
# 案例:[101, 'kate', '211', 'python', 'selenium', 'postman', 'request', 'httprunner', 'jmeter'] lst = [101, 'kate', '211', 'python', 'selenium', 'postman', 'request', 'httprunner', 'jmeter'] # # 删除元素101 print('删除101之前',lst) lst.remove(101) print('删除101之后',lst) # # 删除最后一个元素 print('删除最后一个元素之前',lst) # lst.pop() #不带参数,默认删除最后一个元素 # lst.pop(-1) lst.pop(len(lst)-1) print('删除最后一个元素之后',lst) # 删除元素'muzi', '211', 'python' print('删除之前',lst) del lst[1:4] print('删除之后',lst) # 清空列表 print('清空之前',lst) lst.clear() print('清空之后',lst)
5. 列表操作---改
对列表单个/部分元素进行修改 列表名[索引值]=新值:根据索引值修改元素值
# 案例:['java','selenium','postman'] # 将java修改为python lst = ['java','selenium','postman'] print(lst) # # 修改的操作 lst[0] = 'python' #'java' = 'python' print(lst) # 将'selenium','postman'修改为['测试框架'] print(lst) lst[1:] = ['测试框架'] # ['selenium','postman'] = ['测试框架'] print(lst) #['java', '测试框架'] lst[1:] = '测试框架' # lst[1:] = list('测试框架') # print(list('测试框架')) #['测', '试', '框', '架'] # ['selenium','postman'] = ['测', '试', '框', '架'] print(lst) #['java', '测', '试', '框', '架']
6. 列表常用的其他方法
列表名.reverse():反转列表 列表名.index(元素值):根据元素值获取元素的索引值,返还索引值 列表名.count(元素值):根据元素统计元素的个数,返还数量
# 案例:[1,'python','selenium','postman',True,123.345,'python'] # 将列表反转 lst = [1,'selenium','postman',True,123.345,'python','python','python','python'] print(lst[::-1]) print(lst) # 反转操作 lst.reverse() print(lst) # 获取'selenium'的索引值 print(lst.index('selenium')) #索引都是正序的 # 统计python的个数 print(lst.count('python')) # 删除lst中所有的python元素 print(lst.index('python')) #索引都是正序的,如果有多个相同的元素,则返还的是第一个元素的索引值 # lst.pop(5) # 删除所有的python元素? ---》 循环+遍历 lst.pop(lst.index('python')) print(lst) lst.pop(lst.index('python')) print(lst) lst.pop(lst.index('python')) print(lst) lst.pop(lst.index('python')) print(lst)
7. 转换函数
list():列表的转换函数 数字--列表? 不能 字符串-列表? 可以