Python核心语法教程:列表list的基础操作与代码实现

2022-07-2821:13:54编程语言入门到精通Comments696 views字数 1961阅读模式

前面的学习中可以发现到处都是列表,仿佛Python语法都是围绕列表展开的,本节会详细的去介绍列表,列表被大多数Python使用者认为是Python中最核心的部分,因为Python的列表十分强大,我们很多操作都是基于列表来进行的。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26177.html

首先我们还是先介绍一下列表,列表是一个可以包含多种数据类型的对象,列表中的内容是可以改变的,它属于一种动态数据结构,我们可以对它进行添加或删除操作,因此在列表操作的时候离不开索引的使用。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26177.html

    1. 列表的定义文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26177.html

其实大家在前面可以多次的看到我们对列表的定义,在Python中我们不可以简单的只定义一个变量名,例如我们接下来要使用一个列表,我们不可以先定义一个my_list,之后再进行赋值什么的,因此我们定义列表的方式为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26177.html

1
2
3
my_liss = []#定义空列表
my_list = [1,2,3,4,5,6]#定义已有值的列表
my_lizz = ['a','b','c','d']

我们可以把列表当作一种容器,我们用它来存放东西,可以在其中存放相同类型的数据,也可以存放不同类型的数据,但是为了提高程序的可读性,建议在一个列表中存放同一种数据类型。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26177.html

2. 数值列表的创建(list()函数)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26177.html

有的时候我们需要创建拥有一定数值的列表,而我们又不想手动输入,因此我们可以用list()函数嵌套range()函数直接进行创建。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26177.html

list()函数不止可以进行强制类型转换,把字符串或元组转换为列表,还可以在定义的时候就使用列表方式。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26177.html

举个例子:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26177.html

我们想要创建一个列表,列表中包含1~10的数字,那么我们可以采用如下方式:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26177.html

1
2
my_list = list(range(1,11))
print(my_list)

输出结果为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26177.html

1
[12345678910]

这样就可以很快捷的创建一个我们想要得到的列表。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26177.html

3. 删除列表文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26177.html

列表的删除采用del语句来操作。格式为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26177.html

1
del my_list

看下面实例:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26177.html

1
2
3
my_list = []
del my_list#删除这个已被创建的列表
print(my_list)#输出一下试试

输出结果为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26177.html

1
2
3
File "D:/python/p/test.py", line 3in <module>
    print(my_list)
NameError: name 'my_list' is not defined

通过报错提示我们可以知道我们创建的列表已经被删除了。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26177.html

4. 列表的复制文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26177.html

我们有时候会需要做一个列表的副本,这时候我们就需要复制列表中的元素,我们可以先思考一下,如果先定义一个列表,然后再定义一个列表,让第二个列表等于第一个列表,我们修改了第一个列表中的值之后,第二个列表中的值会变吗?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26177.html

看下面代码:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26177.html

1
2
3
4
5
6
first_list = [1234]  # 先定义一个列表
second_list = first_list  # 复制这个列表
print('修改前(第一个列表和第二个列表):', first_list, ',', second_list)  # 输出看一下
first_list[0= 10
print('修改后(第一个列表和第二个列表):', first_list, ',', second_list)  # 再输出看一下
print(id(first_list), id(second_list))  # 通过访问id可以发现此时两个列表地址是相同的

输出结果为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26177.html

1
2
3
修改前(第一个列表和第二个列表): [1234] , [1234]
修改后(第一个列表和第二个列表): [10234] , [10234]
2623951954504 2623951954504

可以发现复制的第二个列表在第一个列表中的元素值被修改之后也跟随着修改,说明了他们是使用的同一列表。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26177.html

看下示意图:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26177.html

Python核心语法教程:列表list的基础操作与代码实现文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26177.html

也就是说着两个变量使用的是内存中的同一列表,无论修改哪个列表中的元素,对应的都是同一列表。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26177.html

如果想要使用相同内容的列表但各自独立的话可以采用下面的方法:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26177.html

1
2
3
first_list = [1,2,3,4]#先定义一个列表
second_list = [] + first_list#使用连接符
print(id(first_list),id(second_list))#通过访问id可以发现此时两个列表是相互独立的

输出结果为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26177.html

1
1899857928776 1900113448584

5. 总结文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26177.html

关于列表下面都是关于它进行讲解,可能对比于其他教程本教程显得过于啰嗦,但是大家一定要明白Python的数据结构中最核心的就是列表,把列表的各方各面学习透彻对之后不管是竞赛也好,项目开发也好,都有很大的帮助,所以列表的学习十分重要。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26177.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/ymba/26177.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定