学习Python的列表类型需要了解和掌握什么是列表、列表的可变性、列表的访问、列表的增删改查等操作~1.了解列表list1 = [‘abc’, 123, {1, 2, 3},[2,3]]Python中的列表有点类似与C语言中的数组的概念;python中的列表是可变的,且列表内部由元素组成,元素可以是任意对象,也就是说列表的数据项不需要具有相同的类型,比如整形、浮点型、字符串、其他类的对象、实例等都可以作为列表的元素。2.列表的定义下面是4种定义列表的方法:lst = list() #定义一个空列表lst = [] #定义一个空列表lst = [1,2,3.5,‘abc’] #元素可以是任意数据类型lst = list(range(10)) #定义一个从0到9的列表3.列表的可变性 a = 1 print(id(a)) #输出:262330544 a = 2 print(id(a)) #输出:262330560列表的可变与不可变性,是对内存地址而言的;被初始化的列表,可以通过列表的API接口对列表的元素进行增删改查;4.列表的访问列表是有序集合,所以列表可以通过索引访问 lst = [1,2,3,4,5] #初始化一个列表lst通过索引访问列表里面的值,列表名[索引大小](索引是从0开始计算的); print(lst[1]) #输出2通过index方法获取值对应的索引,列表名.index(值); print(lst.index(4)) #输出 3通过count方法获取值在列表中出现的次数,列表名.count(值); print(lst.count(2)) #输出1通过len()函数获取列表的长度,len(列表名);print(len(lst)) #输出5#### 5.列表的插入lst = [1,2,3,4,5] #初始化一个列表* append方法:在列表的末尾插入数据;lst.append(5) print(lst) 输出[1, 2, 3, 4, 5, 5]* insert方法:在列表的任意位置插入数据;lst.insert(0, 100) print(lst) 输出[100, 1, 2, 3, 4, 5]* extend方法:添加可迭代对象的元素;lst.extend(range(10)) print(lst) 输出[1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]* +:叠加两个列表元素;lst_new = lst + [1,2,3] print(lst_new) 输出 [1, 2, 3, 4, 5, 1, 2, 3]* *:复制列表元素;lst_new = lst * 3 print(lst_new) 输出 [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]#### 6.列表的删除lst = [1,2,3,4,5] #初始化一个列表* remove方法:移除从左自右的第一个匹配的元素;lst.remove(3) print(lst) 输出[1, 2, 4, 5]* pop方法:带值的情况下,移除指定索引的元素,在不带值的情况下,移除最后一个元素;lst.pop(2) print(lst) 输出[1, 2, 4, 5]lst.pop() print(lst) 输出[1, 2, 3, 4]* clear方法:清空整个列表;lst.clear() print(lst) 输出[]#### 7.列表的排序lst = [1,2,3,4,5] #初始化一个列表* reverse方法:将列表中的元素反向;lst.reverse() print(lst) 输出[5, 4, 3, 2, 1]* sort方法:给元素排序,(注:reverse控制指定是正向还是反向,默认是False,代表升序);lst.sort() print(lst) 输出[1, 2, 3, 4, 5]lst.sort(reverse=True) print(lst) 输出[5, 4, 3, 2, 1]* in 关键字:判断元素是否在列表里面;if 1 in lst:print(‘yes’) 输出yes#### 8.列表的复制lst = [1,[1,2,3],3,4,5]lst_new = lst.copy() print(lst_new) #输出[1, [1, 2, 3], 3, 4, 5]lst1 = 100 print(lst_new) #输出[1, [1, 100, 3], 3, 4, 5]* 浅拷贝:如果改变原始列表的值,copy得到的新的列表的值会跟着改变;import copy #导入一个copy模块 lst = [1,[1,2,3],3,4,5]lst_new = copy.deepcopy(lst) print(lst_new) #输出[1, [1, 2, 3], 3, 4, 5]lst1 = 100 print(lst_new) #输出[1, [1, 2, 3], 3, 4, 5]* 深拷贝:注意需要导入一个copy模块,深拷贝和前拷贝相反,如果改变原始列表的值,copy得到的新的列表的值并不会跟着改变;#### 9.random模块import random #导入random模块 print(random.randint(1,100)) #输出1到99中任意一个整数 print(random.choice([‘x’,3,5,7])) #输出这四个元素中的任意一个 print(random.randrange(1,100,2)) #输出1到99中的任意一个属于 2n+1 的值lst = [1,2,3,4,5] random.shuffle(lst) #将lst列表打乱 print(lst)* 需要导入一个random模块;* randint:取区间中任意一个值,注意区间是闭区间;* choice:从给出列表中随机取一个值;* randrange:左边是闭区间,右边是开区间;* shuffle:将列表打乱;