首页 > 编程笔记 > Python笔记 阅读:17

Python元组(Tuple)的用法(附带实例)

Python 的元组(Tuple)与列表类似,不同之处在于元组的元素不能修改。元组使用圆括号“()”,列表使用方括号“[]”。

元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可,例如:
# 创建一个包含三个元素的元组
my_tuple = (1, 2, 3)

# 创建一个包含字符串和数字的元组
mixed_tuple = ("apple", 42, 3.14)

# 创建一个空元组
empty_tuple = ()

# 创建一个只有一个元素的元组(注意元素后需要加逗号,否则会被解释为表达式子)
single_element_tuple = (42,)

# 创建一个包含元组的元组(元组可以嵌套)
nested_tuple = (1, 2, (3, 4))

注意,元组中只包含一个元素时,需要在元素后面添加逗号“,”,否则括号会被当作运算符使用,如下图所示:


在元组中,可以使用下标索引来访问元组中的值;虽然元组中的元素值是不允许修改的,但可以对元组进行连接组合。同样,也可以使用 del 语句来删除整个元组。

【实例】元组中元素的相关操作。
tup1 = ('Baidu','Python',2000,2022)
tup2 = (1,2,3,4,5,6,7)

1) 访问元组:
print("tup1[0]:",tup1[0])
print("tup2[1:5]:",tup2[1:5])
输出结果为:

tup1[0]:Baidu
tup2[1:5]:(2,3,4,5)

     
2) 删除元组:
print(tup1)
del tup1
print("删除后的元组tup:")
print(tup1)
输出结果为:     

('Baidu','Python',2000,2022)
删除后的元组tup:
----------------------------------------------------------------------
NameError                Traceback(most recent call last)
<ipython-input-3-0c09d40b78e6> in<module>()
--->10 print(tup1)
NameError:name 'tup1'is not defined

     
3) 修改元组:
tup3 = (12,34.56)
tup4 = ('abc','xyz')
#以下修改元组元素操作是非法的
#tup3[0] = 100
#创建一个新的元组
tup5 = tup3 + tup4
print(tup5)
输出结果为:

(12,34.56,'abc','xyz')

与字符串一样,元组之间可以使用“+”、“+=”和“∗”号进行运算。这就意味着它们可以组合和复制,运算后会生成一个新的元组。

元组的元素是不可变的,例如:
tup = ('r','u','n','o','o','b')
tup[0] = 'g'     #不支持修改元素
运行结果,结果为:

Traceback(most recent call last):
File"<stdin>",line 1,in<module>
TypeError:'tuple'object does not support item assignment


所谓的不可变,指的是元组所指向的内存中的内容不可变,例如:
id(tup)               #查看内存地址
4440687904
tup = (1,2,3)
id(tup)
4441088800            #内存地址不一样了

相关文章