Python中列表详解
一、列表
1.列表是Python中常用的数据类型之一,书写格式为:使用一对中括号包含列表内容 list=[]
2.创建列表
- 创建一个空列表
- 创建一个普通列表
- 创建一个混合列表
#创建一个空列表 list1=[] #创建一个普通列表 list2=[1,23,4,5] #创建一个混合列表 list=[1,2,True,12.58,'你好',[1,2,3],{'name':"小明"},(12,3)] 输出结果: print(list1) print(list2) print(list)
3.列表可以存放的内容
- 列表可以存放Python中所学的所有类型
#列表list list=[1,2,True,12.58,'你好',[1,2,3],{'name':"小明"},(12,3)] print(list) print(type(list)) 输出结果: [1, 2, True, 12.58, '你好', [1, 2, 3], {'name': '小明'}, (12, 3)] <class 'list'>
4.计算列表的长度,使用len()方法
#计算列表的长度 list=[1,2,True,12.58,'你好',[1,2,3],{'name':"小明"},(12,3)] print(len(list)) 输出结果: 8
5.获取列表中的值,也是使用索引去获取(使用方法和字符串索引相同)
- 通过索引找到列表对应的值
- 该元素是什么数据类型,索引得到的结果就是什么数据类型,不会发生改变
#通过索引获取列表元素 list=[1,2,True,12.58,'你好',[1,2,3],{'name':"小明"},(12,3)] print(list[2]) #获取列表中索引值为2的元素 对应为True print(type(list[2])) #获取的元素的数量类型,和之前的数据类型一样 print(list[5]) print(type(list[5])) print(list[6]) print(type(list[6])) print(list[7]) print(type(list[7])) 输出结果: True <class 'bool'> [1, 2, 3] <class 'list'> {'name': '小明'} <class 'dict'> (12, 3) <class 'tuple'>
- 列表的切片,得到的结果还是个列表
#列表list list=[1,2,True,12.58,'你好',[1,2,3],{'name':"小明"},(12,3)] print(list[0:5]) #从头到索引为5的位置,所有的元素,取头不取尾 print(list[::2]) #取出列表中,步长为2的数据 print(list[0:6:3]) #取出从头到索引值为6的数据中,步长为3的数据 print(type(list[0:6:3])) #进行切片后得到的结果,还是列表 输出结果: [1, 2, True, 12.58, '你好'] [1, True, '你好', {'name': '小明'}] [1, 12.58] <class 'list'>
二、列表的常用操作(增删改查)
1.列表添加元素
- 使用append()方法,默认是在列表末尾追加新的对象,也就是将参数作为一个元素增加到列表尾部。(append的参数只有一个,append一次只能添加一个元素)
#使用append添加元素 list3=[1,4,5] list3.append(['你好',10]) #添加一个列表 print(list3) 输出结果: [1, 4, 5, ['你好', 10]]
- append()方法对列表作用,但是实际的添加过程,返回的结果为None,这是python中append()方法的实现规则
#列表末尾追加元素 list3=[1,4,5] list3.append(['你好',10]) print(list3) print(list3.append(['你好',10])) 输出结果: [1, 4, 5, ['你好', 10]] None
- extend():在列表的尾部一次性追加另一个序列中的多个值,即将参数作为一个列表去扩展原列表,列表合并
#向列表list中,追加列表list3 list=[1,2,True,12.58,'你好',[1,2,3],{'name':"小明"},(12,3)] list3=[1,4,5] list.extend(list3) print(list) 输出结果: [1, 2, True, 12.58, '你好', [1, 2, 3], {'name': '小明'}, (12, 3), 1, 4, 5]
- insert() :在指定的位置插入对应的参数,insert()接收两个参数,第一个参数传入的是指定插入的位置,第二个参数传入的是指定位置待插入的参数
#在索引值为1的位置插入一个字符串 list=[1,2,True,12.58,'你好',[1,2,3],{'name':"小明"},(12,3)] list.insert(1,"欢迎使用列表list") print(list) 输出结果: [1, '欢迎使用列表list', 2, True, 12.58, '你好', [1, 2, 3], {'name': '小明'}, (12, 3)]
2.删除列表中的元素
- remove() :删除指定的内容(不知道索引的位置,值知道列表中的具体内容,一定是存在的参数才可以删除,列表中不存在的是无法操作,会报错:ValueError: list.remove(x): x not in list)
#移除列表元素 list=[1,2,True,12.58,'你好',[1,2,3],{'name':"小明"},(12,3)] list.remove('你好') print(list) list.remove('nihao') #移除的列表元素不存在 输出结果: [1, 2, True, 12.58, [1, 2, 3], {'name': '小明'}, (12, 3)] ValueError: list.remove(x): x not in list #移除不存在的元素会报错
- remove()只能移除一个元素,如果列表中含有多个相同元素,默认是移除第一个
list=[1,2,True,12.58,'你好',[1,2,3],'你好',{'name':"小明"},'你好',(12,3)] list.remove('你好') print(list) 输出结果: [1, 2, True, 12.58, [1, 2, 3], '你好', {'name': '小明'}, '你好', (12, 3)]
- pop() :删除指定的索引位置,返回结果是删除的元素值(pop()如果不传入对应的索引值,默认是移除列表中的最后一个元素)
#指定pop()删除的索引值 list=[1,2,True,12.58,'你好',[1,2,3],'你好',{'name':"小明"},'你好',(12,3)] ele=list.pop(-2) print(ele) print(list) 输出结果: 你好 [1, 2, True, 12.58, '你好', [1, 2, 3], '你好', {'name': '小明'}, (12, 3)] #未指定pop()索引值 list=[1,2,True,12.58,'你好',[1,2,3],'你好',{'name':"小明"},'你好',(12,3)] ele1=list.pop() print(ele1) print(list) 输出结果: (12, 3) [1, 2, True, 12.58, '你好', [1, 2, 3], '你好', {'name': '小明'}, '你好']
三、修改列表元素
- 通过索引值取出对应元素,用新的元素替换掉旧的元素
#使用索引值取出需要修改的元素,然后进行替换 list=[1,2,True,12.58,'你好',[1,2,3],'你好',{'name':"小明"},'你好',(12,3)] list[-2]="蓝天" print(list) 输出结果: [1, 2, True, 12.58, '你好', [1, 2, 3], '你好', {'name': '小明'}, '蓝天', (12, 3)]
四、列表中常用的函数方法
- clear() 清除列表元素(其中,list.clear() 返回结果为None)
list=[1,2,True,12.58,'你好',[1,2,3],'你好',{'name':"小明"},'你好',(12,3)] list.clear() print(list.clear()) print(list) 输出结果: None []
- sort() 排序,是对列表中的数字进行排序,文字,字符串不需要排序
list=[12,22,3,6,5,8,90] list.sort() print(list) 输出结果: [3, 5, 6, 8, 12, 22, 90]
- reverse() 降序,是对列表中的数字进行降序,文字,字符串不需要
#先将列表进行排序,然后再由大到小的方式进行降序的方法 list=[12,22,3,6,5,8,90] list.sort(reverse=True) print(list) 输出结果: [90, 22, 12, 8, 6, 5, 3] #直接对原有的列表进行降序 list=[12,22,3,6,5,8,90] list.reverse() print(list) 输出结果: [90, 8, 5, 6, 3, 22, 12]