Part4--列表

  • 列表是一种可变的数据类型
  • 列表中的数据类型不限
  • 列表中的多个元素之间用逗号进行分割
  • 最外层用[ ]括起来

列表的两种定义方式

使用list()将其他可迭代的数据类型转换为列表

  • 可迭代 能被for循环遍历的都是

使用[ ]来定义

列表的一些运算

+号运算

  • 列表中的所有元素存放在一个新的列表当中

*号运算

  • 重复列表当中的元素

in 包含运算

  • 判断是不是列表中的元素

列表的索引和切片

列表:有序的序列,所以每一个数据都有唯一对应的索引值。
第一个元素对应的索引值是0,和字符串是一样的
语法:列表[开始位置:终止位置:步长和方向]

  • 列表[开始位置:终止位置:步长和方向],开始的位置包含在内,终止的位置不包含在内
  • 步长的默认值为1,当步长设置为正整数,代表方向从左往右,当步长设置为负整数,代表从后往前进行切片
  • 起始位置和终止位置,如果不填,代表从头到尾所有数据

一维列表的切片和索引

多维列表的切片和索引

  • 一层一层剥洋葱

列表的方法

3个增加元素的方法

Part4--列表

list.append(元素) 追加

list.extend(list) 扩展

list.insert(索引,插入的元素)

4个删除元素的方法

Part4--列表

del list[要删除元素的索引值]

  • 删除变量

list.pop(要删除元素的索引值)

  • 默认删除最后一个元素 ,返回被删除的元素

list.remove(要删除的元素)

  • 用于移除列表中某个值的第一个匹配项
  • 若列表有多个匹配值,只会删除第一个,要想多次删除,需要用到后面学习的循环语句。

list.clear()

  • 清空列表,只剩下一个空列表

修改元素

list[索引]= 修改之后的元素

2个查找元素的方法

list.count(查找的元素)

  • 元素出现的次数

list.index(寻找的对象,开始索引,结束索引)

  • 元素首次出现的索引

2个排序的方法

list.sort(reverse=True/False)

  • 默认升序排列
  • 至少是同一种数据类型

list.reverse()

  • 将list所有元素反转

列表的深浅复制

  • 浅拷贝只拷贝容器中元素的地址 新瓶装旧酒
    list.copy()
  • list.deepcopy()
    对于不可变类型,没有开辟新的地址
    对于可变类型 ,则重新开辟新的地址