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():列表的转换函数 数字--列表? 不能 字符串-列表? 可以