欢迎光临
我们一直在努力

Python学习之路-元组(tuple)学习详解

慢一点,不是落后,而是让每一步都踩得更实。时间会证明,稳比快更接近远方。

学习打卡第十二天

一、元组(tuple)的基本概念

组与列表类似,都是用于存储一系列元素的数据结构。但二者有一个关键区别:元组的元素不能修改,这使得元组具有不可变性

所谓元组的不可变,指的是元组所指向内存中内容不可变。当我们尝试修改元组中的元素时,会出现错误;而当我们对元组进行重新赋值时,元组会绑定到新的对象,其内存地址会发生改变

在语法上,元组使用小括号 ( ) 来定义,而列表使用方括号 [ ]

二、元组的创建

只需在小括号中添加元素,并用逗号隔开即可

1.使用圆括号 () 创建

t1 = (1, 2, 3)
t2 = ("a", "b", "c")

‌2.单元素元组需加逗号

如果元组只包含一个元素,必须在该元素后加逗号,否则 Python 会将其视为普通表达式

t4 = (1,) # 正确

3.使用 tuple() 构造器创建

可以通过内置函数 tuple() 从其他可迭代对象(如列表、字符串等)创建元组

t5 = tuple([1, 2, 3])
t6 = tuple("hello")

‌4.创建空元组

t7 = ()

三、元组的访问

元组与字符串类似,下标索引从 0 开始,可以通过下标索引来访问元组中的值,也可以进行截取操作

my_tup = (1, 2, 3, 4, 5, 6, 7 )

# 访问单个元素
print("my_tup[0]: ", my_tup[0]) # 输出:my_tup[0]: 1

# 截取元素
print("my_tup[1:5]: ", my_tup[1:5]) # 输出:my_tup[1:5]: (2, 3, 4, 5)

四、元组的修改与删除

1.修改

这与开始说的元组不可以修改是否矛盾呢,答案是肯定的,元组不可以修改其中的一个元素。但可以两个元组拼接成一个新的元组

tup1 = (1, 2)
tup2 = ('3', 'tgm')

# 以下修改元组元素操作是非法的
# tup1[0] = 100

# 创建一个新的元组
tup3 = tup1 + tup2
print(tup3) # 输出:(1, 2, '3', 'tgm')

2.删除

同理,元组也不可以删除其中的单个元素,但可以用del语句来删除整个元组

tup1 = ('hello', 'python', 1997, 2000)
print(tup1) # 输出:('hello', 'python', 1997, 2000)

del tup1
print("删除后的元组 tup1 : ")
print(tup) # 元组被删除后,输出变量会有异常信息

会出现如下异常信息:

删除后的元组 tup :

Traceback (most recent call last):

      File "test.py", line 8, in <module>

             print(tup)

NameError: name 'tup' is not defined

五、元组运算符

与字符串一样,元组之间可以使用 +、+= 和 * 号进行运算,通过这些运算可以实现元组的组合和复制,运算后会生成一个新的元组。

Python 表达式结果描述
a = (1, 2, 3); b = (4, 5, 6); c = a + b (1, 2, 3, 4, 5, 6) 连接,c 是包含 a 和 b 所有元素的新元组
a = (1, 2, 3); b = (4, 5, 6); a += b (1, 2, 3, 4, 5, 6) 连接,a 变成包含 a 和 b 所有元素的新元组
(‘Hi!’,) * 4 (‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’) 复制
3 in (1, 2, 3) True 判断元素是否存在
for x in (1, 2, 3): print(x, end=" ") 1 2 3 迭代

六、元组的索引与截取

由于元组是一个序列,所以我们可以访问元组中指定位置的元素,也可以截取索引中的一段元素。其实跟列表一样的。

假设有元组 tup = ('QQ', 'Taobao', 'Wiki', 'Weibo','Weixin'),具体操作如下:

tup = ('QQ', 'Taobao', 'Wiki', 'Weibo','Weixin')
print(tup[0]) # 输出 'QQ'
print(tup[-2]) # 输出 'Weibo'

print(tup[1:]) # 输出 ('Taobao', 'Wiki', 'Weibo','Weixin')

print(tup[1:4]) # 输出 ('Taobao', 'Wiki', 'Weibo')

七、元组的内置函数

函数 描述
len(tuple) 计算元组元素个数
max(tuple) 返回元组中元素最大值
min(tuple) 返回元组中元素最小值
tuple(iterable) 将可迭代系列转换为元组
赞(0)
未经允许不得转载:171主机测评 » Python学习之路-元组(tuple)学习详解
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址