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]