Python 列表

522

列表创建

  • 创建列表的第一种方式,使用[]
    lst=['hello','world',98]

  • 创建列表的第二种方式,使用内置函数list()
    lst2=list(['hello','world',98])

列表的特点

  • 列表元素按顺序有序排序
  • 索引映射唯一数据
  • 列表可以存储重复数据
  • 任意数据类型混存
  • 根据需要动态分配和回收内存

列表的查询操作

  • 获取列表中指定元素的索引
    lst.index('hello',1,3)
    #如查列表中存在N个相同元素,只返回相同元素中的第一个元素的索引
    #如果查询的元素列表中不存在,则抛出ValueError
    #还可以再指定的start和stop之间进行查找

  • 获取列表中的单个元素
    lst[n] --n为索引值
    #正向索引从0到n-1,如lst[0]
    #逆向索引从-n到-1,如lst[-n]
    #指定索引不存在,抛出indexError

  • 获取列表中的多个元素(切片)
    列表名[start:stop:step]
    lst[1:6:1]
    #切片的结果为新的列表对象
    #切片的范围为索引start到stop(不包含stop),start默认0,stop默认n
    #step为步长,默认为1,-1代表为逆序

  • 判断指定元素再列表中是否存在
    元素 in 列表名
    元素 not in 列表名

  • 列表元素的遍历

for 迭代变量 in 列表名:
	……

列表元素的增加操作

  • append() 方法,在列表末尾添加一个元素
  • extend() 方法,在列表的末尾至少添加一个元素
    如:
lst=[10,20,30]
lst.append(100)
lst2=['hello','world']
lst.extend(lst2)
  • insert() 方法,在列表的任意位置添加一个元素
  • 切片 ,在列表的任意位置添加至少一个元素
    如:
lst=[10,20,30]
lst.insert(1,90)   #在列表索引1的位置添加90
lst[1:]=lst2  #切掉索引1开始,并替换成lst2

列表元素的删除操作

  • remove() 方法
    一次删除一个元素,重复元素只删除第一个,元素不存在抛出ValueError

  • pop()方法
    删除一个指定索引位置上的元素,指定索引不存在抛出IndexErro
    不指定索引,删除列表中最后一个元素

  • 切片
    new_lst=lst[1:3]
    一次至少删除一个元素,将产生一个新的列表对象
    lst[1:3]=[]
    不产生新的列表对象,而是删除原列表中的内容

  • clear(lst)
    清空列表lst

  • del lst
    删除列表lst

列表元素的修改操作

  • lst[1]=100
    为指定索引的元素赋予一个新值,一次修改一个值

  • lst[1:3]=[300,400,500,600]
    为指定的切片赋予一个新值,可以修改多个值

列表元素的排序操作

  • lst.sort() 方法
    列表中所有元素默认安装从小到大的顺序进行排序,可以指定reverse=Ture,进行降序排序

  • sorted(lst) 内置函数
    可以指定reverse=Ture,进行降序排序,原列表不发生改变

列表生成式

语法:[i*i for i in range(1,10)]
结果:[1,4,9,16,25,36,49,64,81]