【python】列表的定义与操作

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

 

 

 

 

 

 

 

上一篇:python基础——15.十大排序算法&九九乘法表


下一篇:mmdection 测试代码(一个py搞定)