一、列表(List)
1.列表介绍
列表(List)是Python中内置的一种数据类型,列表可以包含不同类型的数据对象,称为元素。这些元素同时也是有序的可重复的。
通常情况下一个变量存储一个元素。但是列表相当于一个“大瓶子”,里面可以装多个元素。
2.列表的创建
创建一个列表,有两种方式,不同的元素只需通过逗号分隔。
#第一种方式,使用[]
lst = [1,1.0,'str',True,[1,2],{'年龄':22},(10,),{1,2},1]
#第二种方式,使用list()内置函数
lst2 = list([1,1.0,'str',True,[1,2],{'年龄':22},(10,),{1,2},1])
print(lst)#lst中可存在重复的元素1,str
#分别打印lst中各元素的数据类型
print(type(lst[0]))
print(type(lst[1]))
print(type(lst[2]))
print(type(lst[3]))
print(type(lst[4]))
print(type(lst[5]))
print(type(lst[6]))
print(type(lst[7]))
运行结果:
3.列表的增、删、改、查操作
查询
#获取单个元素
lst = [1,1.0,'str',True,[1,2],{'年龄':22},(10,),{1,2},1]
#根据元素获取索引
print(lst.index('str'))
print(lst.index(1))#相同元素返回第一个元素的索引
print(lst.index(1,5,9))#在指定范围内查找索引,不包括为9的
#根据索引获取元素
print(lst[3])
print(lst[-1])#索引可以为负数
#获取多个元素使用切片
print('-----------------切片---------------')
lst = [1,2,3,4,5,6,7,8,9,10]
print('原列表',id(lst))
lst1 = lst[1:5:1]
print(lst[1:5:1])#从索引1切到索引5,不包含5,每次切1
print('切片段',id(lst1))#切了个新地址
print(lst[1:5])#默认步长为1
print(lst[1:5:])
print(lst[1:5:2])
print(lst[:6:2])#默认索引从0开始
print('-------------使用负数步数-------------')
print(lst[1::2])#默认从索引1到最后一位
print(lst[::-1])#步数为负,默认从最后开始
print(lst[7::-1])
print(lst[6:0:-2])
运行结果
添加
#添加列表元素
print('-------------添加元素-------------')
lst=[1,2,3,4]
print('添加元素之前',lst,id(lst))
lst.append(5)
print('添加元素之后',lst,id(lst))
lst2 = ['a','b']
lst.append(lst2)
lst.extend(lst2)
#在任意位置添加元素
lst.insert(1,1)
lst3=[10,20,30,40,50]
lst[1:]= lst3
print(lst)#将索引1后面元素替换为lst3
运行结果
修改
lst = [10,20,30,40]
lst[2] = 88
print(lst)
lst[1:3] = [1,2,3,4,5]
print(lst)
运行结果
删除
lst = [10,20,30,40,50,60,70,20,30]
lst.remove(20)
print(lst)
lst.pop(1)
print(lst)
lst.pop()#删除最后一个
print(lst)
new_lst=lst[1:3]#产生新的列表对象
print('源列表',lst,id(lst))
print('切片后',new_lst,id(new_lst))
lst[1:3]=[]#不会产生新的地址
print(lst,id(lst))
lst.clear()
print(lst)
del lst
#print(lst)#会报错,对象被删掉