【python】list和tuple的区别

简介: list和tuple的区别
1. list(列表)

list是一种有序的集合,可以随时对集合进行添加删除插入操作。

1.1. list中的元素,索引从0开始,0为第一个元素,当索引超出范围(本例索引大于5时,总共有6个元素,索引为0,1,2,3,4,5)会报错,索引不能越界,最后一个元素的索引是len(num)-1

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.2. 如果要取最后一个元素,除了计算索引位置,还可以用-1做索引直接取到最后一个元素(倒数第一)

在这里插入图片描述
当然,取倒数第二个和倒数第三个索引分别为-2,-3,以此类推
在这里插入图片描述

1.3. 使用append()可以在list的尾部添加元素

==注意是在尾部添加==
在这里插入图片描述
==当然,也可以在尾部添加一个列表或者字典==
在这里插入图片描述

1.4. 使用insert()可以将元素插入添加到指定位置

在这里插入图片描述

1.5. 使用pop()可以删除list最后一个元素(默认的情况下)

==注意使用pop(i) # i是索引,可以删除指定位置的元素==
在这里插入图片描述

1.6. 想要替换某个元素,可以直接给对应索引号位置的元素赋值

在这里插入图片描述
==list里面的元素类型可以不同(上面的举例就可以看出来),不仅如此,它的元素还可以是另一个list,嵌套的形式==

2. tuple(元组)
2.1. tuple是一种有序列表,它和list非常相似,但是tuple一旦初始化就不能修改,而且没有append()、insert()这些方法,可以获取元素但不能赋值变成另外的元素。

在这里插入图片描述
在这里插入图片描述

2.2. 定义空的tuple

定义空的tuple可以写成()
在这里插入图片描述
定义只有一个元素的tuple必须写成(元素,) ### 逗号不能丢
在这里插入图片描述

2.3. tuple要如何改变里面的元素呢?

在这里插入图片描述
==其实不是tuple可以改变,而是tuple指向的list中的元素可以改变(id不是不变的,对象的内存地址)。==

3. 总结
  • list中是可变的,tuple不可变(id,对象的内存地址),tuple没有insert, pop,append方法
  • 定义只有一个元素的tuple的时候,必须加逗号,否则不会被认为是tuple,而被识别为括号,比如,a = (1) 会被识别为数字1, (1,)这样才被识别为一个元组,只有一个元素,数字1

注:不可变的tuple有什么意义?
因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。

参考

https://blog.csdn.net/weixin_39431596/article/details/78730731

[https://www.runoob.com/python/python-func-id.html [id函数]](https://www.runoob.com/python/python-func-id.html)

相关文章
|
18天前
|
存储 大数据 数据处理
Python 中的列表推导式与生成器:特性、用途与区别
Python 中的列表推导式与生成器:特性、用途与区别
14 2
|
19天前
|
存储 C语言 Python
解密 Python 的变量和对象,它们之间有什么区别和联系呢?
解密 Python 的变量和对象,它们之间有什么区别和联系呢?
16 2
|
7天前
|
机器学习/深度学习 缓存 Linux
python环境学习:pip介绍,pip 和 conda的区别和联系。哪个更好使用?pip创建虚拟环境并解释venv模块,pip的常用命令,conda的常用命令。
本文介绍了Python的包管理工具pip和环境管理器conda的区别与联系。pip主要用于安装和管理Python包,而conda不仅管理Python包,还能管理其他语言的包,并提供强大的环境管理功能。文章还讨论了pip创建虚拟环境的方法,以及pip和conda的常用命令。作者推荐使用conda安装科学计算和数据分析包,而pip则用于安装无法通过conda获取的包。
24 0
|
29天前
|
Python
Python中的tuple:探索其强大功能与实用技巧
Python中的tuple:探索其强大功能与实用技巧
19 1
|
29天前
|
存储 Python
Python中类方法、实例方法与静态方法的区别
这三种方法的正确使用可以使代码更加清晰、组织良好并且易于理解,从而有效地支持软件开发的面向对象编程范式。
22 1
|
18天前
|
索引 Python
Python列表操作-推导式(List Comprehension)
Python列表操作-推导式(List Comprehension)
15 0
|
27天前
|
存储 编译器 Linux
Cython 和 Python 的区别
Cython 和 Python 的区别
23 0
|
27天前
|
Python
Python量化炒股的获取数据函数— get_billboard_list()
Python量化炒股的获取数据函数— get_billboard_list()
32 0
|
28天前
|
Python
Python中类属性与实例属性的区别
了解这些区别对于编写高效、易维护的Python代码至关重要。正确地使用类属性和实例属性不仅能帮助我们更好地组织代码,还能提高代码运行的效率。
17 0
|
5月前
|
存储 索引 Python
元组(Tuple)在Python编程中的应用与实例
元组(Tuple)在Python编程中的应用与实例
98 2