列表

2021-03-09  本文已影响0人  沐沐_妉杉
一、为什么需要列表
  1. 变量可以存储一个元素,而列表是一个大的容器,可以存储N多个元素(可以为不同的数据类型),程序可以方便的对这些数据进行整体操作。

  2. 列表相当于其他语言中的数组

  3. 列表示意图:

  1. 程序示意图:
  1. 内存示意图:
二、列表的创建
1. 列表需要使用中括号[],元素之间使用英文的逗号,进行分隔
2. 列表的创建方式

(1)使用中括号[]

(2)使用内置函数list()

三、列表的特点
1. 列表元素按顺序有序排列
2. 索引映射唯一数据

列表索引可以是正数索引,也可以是负数索引,如下图:

示例:

3. 列表可以存储重复的数据
4. 任意数据类型混存
5. 根据需要,动态分配和回收内存

根据元素多少,动态分配内存空间

四、列表的查询操作
(一)获取列表元素中指定的元素索引

.index

1. 如果所查列表中存在N个相同元素,只返回相同元素中第一个元素的索引

2. 如果查询的元素在列表中不存在,则会抛出ValueEver

3. 可以在指定的start和stop之间进行查找

存在情况:

不存在情况:

(二)获取列表中的单个元素

1. 正向索引从0到N-1(N为元素个数)

2. 逆向索引从-N到-1

3. 指定索引不存在,抛出IndexEver

(三)获取列表中的多个元素

1. 语法格式:列表名[start:stop:step]

2. 切片操作:

(1)切面的结果:原列表片段的拷贝

(2)切片的范围:[start,stop)

(3)step默认为1:可简写为[start:stop]

(4)step为正数:从start开始,往后计算切片

(5)step为负数:从start开始,往前计算切片

(四)判断指定元素在列表中是否存在

元素 in 列表名

元素 not in 列表名

(五)列表元素的遍历

for 迭代变量 in 列表名:

五、列表元素的增、删、改
(一)列表元素的添加
  1. append()在列表的末尾添加一个元素
  1. extend()在列表的末尾至少添加一个元素

首先,如果我们用append()来添加,可以看到程序是把lst2作为一个元素添加到列表的末尾,如下:

下面,我们用expend()来添加:

  1. insert()在列表的任意一个位置添加一个元素
  1. 切片:在列表任意位置添加至少一个元素

用切片在列表任意位置添加元素,可以理解为在某位置对列表的元素进行替换:

比如下面这幅图,在列表索引为1的位置添加lst2,默认最后一个元素为列表的最后一个元素,也就是把索引为1之后的元素切掉。

可以看到运行结果:hello之后的元素替换为lst2

我们看下一个例子:

在索引为1到3的位置添加lst2:

(二)列表元素的删除

1. remove()

(1)一次删除一个元素

(2)重复元素只删除第一个

(3)元素不存在抛出ValueError

2. pop()

(1)删除一个指定索引位置上的元素

(2)不指定索引,删除列表中最后一个元素

(3)指定索引不存在抛出ValueError

3. 切片:一次最少删除一个元素

产生新列表:

不产生新列表:

4. clear()清空列表

5. del删除列表

(三)列表元素的修改
  1. 为指定索引的元素赋予一个新值
  1. 为指定的切片赋予一个新值
六、列表元素的排序
常见的两种方式:

1. 调用sort()

列表中的所有元素默认按照从小到大的顺序进行排序,不会产生新列表。

可以指定reverse=False,进行升序排序

可以指定reverse=True,进行降序排序。

2. 调用内置函数sorted()

列表中的所有元素默认按照从小到大的顺序进行排序,会产生新列表。

可以指定reverse=True,进行降序排序

七、列表生成式

列表生成式简称“生成列表的公式”。

(一)语法格式

例:[i*i for i in range(1,10)]

(二)程序图示

注意:“表示列表元素的表达式”(列表元素真正包含的值)中,通常包含自定义变量

练习:

视频来源:哔哩哔哩马士兵Python教学

上一篇下一篇

猜你喜欢

热点阅读