4.3 元组
什么是元组?答:元组是 Python 中内置的数据结构之一,是一个不可变的序列,所谓不可变就是不支持增删改的操作;字符串,元组都是不可变序列,可变序列有如列表,字典.
4.3.1 元组的创建与删除
🚩元组的创建:我们可以直接使用赋值运算符 “=”,直接把一个元组常量(用()表示元组,元组的元素之间用,隔开)赋值给变量,这里需要注意,如果只想创建一个元组的元素,需要加,即:
# 博主:辰chen # 博客地址:https://chen-ac.blog.csdn.net/ # 开发时间:2021/12/13 16:41 # 欢迎大家关注AIoT相关博客~ a = ('hello', 3, '辰chen') print(a) # 如果元组中只有一个元素,需要加一个 , : b = ('AIoT', ) print(b)
我们还可以调用 tuple() 函数进行元组的创建,具体操作如下所示:
# 博主:辰chen # 博客地址:https://chen-ac.blog.csdn.net/ # 开发时间:2021/12/13 16:41 # 欢迎大家关注AIoT相关博客~ a = tuple(('hello', 3, '辰chen')) print(a)
和列表与字典一样,删除元组用的是 del:
# 博主:辰chen # 博客地址:https://chen-ac.blog.csdn.net/ # 开发时间:2021/12/13 16:41 # 欢迎大家关注AIoT相关博客~ a = tuple(('hello', 3, '辰chen')) del a print(a)
4.3.2 元组的遍历
🚩对元组的遍历,遍历的方法其实和遍历列表是一样的,都是通过索引去遍历的,对于索引的定义与列表也是一致的,代码演示如下:
# 博主:辰chen # 博客地址:https://chen-ac.blog.csdn.net/ # 开发时间:2021/12/13 18:16 # 欢迎大家关注AIoT相关博客~ a = (666, '辰chen', [2, 3]) print(a[-1]) print(a[0])
当然,我们可以用 for 循环去遍历整个元组:
# 博主:辰chen # 博客地址:https://chen-ac.blog.csdn.net/ # 开发时间:2021/12/13 18:16 # 欢迎大家关注AIoT相关博客~ a = (666, '辰chen', [2, 3]) for item in a: print(item)
*4.4.3 深入理解元组不可变
注:本小节带 *,不需要进行学习,可以简单进行了解
⛲️ 什么叫不可变:即其元素是不可以进行增删改的,强制执行增删改会报错 TypeError,那么这样一种不可以改变的数据结构有什么意义呢?就面向过程这一大章节而言,它确实没有什么实际的作用,但是在面向对象以及现实生活中,它具有很强的现实意义,我们可以这么去想,比如我们开发一个程序(王者荣耀),我们允许用户去改变自己的游戏名称,但是我们是不允许去修改英雄名称,故这个时候我们就可以用元组
其实元组中的元素如果是可变类型的(列表),我们是可以改变它的,其余则不可以改变:
# 博主:辰chen # 博客地址:https://chen-ac.blog.csdn.net/ # 开发时间:2021/12/13 18:16 # 欢迎大家关注AIoT相关博客~ a = (666, '辰chen', [2, 3]) print(a) ''' a[2] 代表的是元组a的第三个元素即列表 列表是可以修改的,但是如下的修改是不可以的: a[2] = [1, 2, 3] print(a) 你可以理解为,上述的修改为先删除掉[2, 3] 然后再加入一个新的列表[1, 2, 3]这种做法是不允许的 我们这里的修改列表中的值为,在原列表的基础上增加或减少元素 所以下述的做法是正确的: ''' a[2].append(1) print(a)