Python Tuple用于存储不可变python对象的序列。元组类似于列表,因为可以改变列表中存储的项的值,而元组是不可变的,并且不能改变存储在元组中的项的值。
元组可以写成用小括号括起来的逗号分隔值的集合。元组可以定义如下。T1 = (101, "Ayush", 22)
T2 = ("Apple", "Banana", "Orange")
例1tuple1 = (10, 20, 30, 40, 50, 60)
print(tuple1)
count = 0
for i in tuple1:
print("tuple1[%d] = %d"%(count, i));
输出:(10,20,30,40,50,60)
tuple1 [0] = 10
tuple1 [0] = 20
tuple1 [0] = 30
tuple1 [0] = 40
tuple1 [0] = 50
tuple1 [0] = 60
例2tuple1 = tuple(input("Enter the tuple elements ..."))
print(tuple1)
count = 0
for i in tuple1:
print("tuple1[%d] = %s"%(count, i));
输出:
Enter the tuple elements ...12345
('1', '2', '3', '4', '5')
tuple1[0] = 1
tuple1[0] = 2
tuple1[0] = 3
tuple1[0] = 4
tuple1[0] = 5
但是,如果我们尝试重新分配元组的项目,元组会报错误,因为元组对象不支持项目分配。
元组是不可变数据类型
空元组可以写成如下。T3 = ()
具有单个值的元组必须包含下面给出的逗号。T4 = (90,)
元组的索引方式与列表相同。可以使用特定索引值访问元组中的项。
元组索引和拆分
元组中的索引和切片类似于列表。元组中的索引从0开始并转到长度(元组) - 1。
可以使用切片运算符访问元组中的项。Python还允许我们使用冒号运算符来访问元组中的多个项目。
通过以下图像以详细了解索引和切片。
与列表不同,使用del关键字无法删除元组项,因为元组是不可变的。要删除整个元组,我们可以将del关键字与元组名称一起使用。
请学习以下示例。tuple1 = (1, 2, 3, 4, 5, 6)
print(tuple1)
del tuple1[0]
print(tuple1)
del tuple1
print(tuple1)
输出:
(1, 2, 3, 4, 5, 6)
Traceback (most recent call last):
File "tuple.py", line 4, in
print(tuple1)
NameError: name 'tuple1' is not defined
与列表一样,可以在两个方向上访问元组元素。可以使用索引-1访问元组的最右边元素(最后一个)。使用负索引遍历从左到右的元素。tuple1 = (1, 2, 3, 4, 5)
print(tuple1[-1])
print(tuple1[-4])
输出:
5
2
基本元组操作
连接(+),重复(*),成员(in)等运算符的工作方式与它们使用列表的方式相同。请考虑下表以获取更多详细信息。
假设Tuple t =(1,2,3,4,5)和Tuple t1 =(6,7,8,9)。
运算符描述示例
重复重复运算符使元组元素重复多次。T1 * 2 =(1,2,3,4,5,1,2,3,4,5)
级联它连接运算符两侧提到的元组。T1 + T2 =(1,2,3,4,5,6,7,8,9)
in如果元组中存在特定项,则返回true,否则返回false。print (2 in T1)
True.
迭代for循环用于迭代元组元素。for i in T1:
print(i)
输出:
1
2
3
4
5
长度它用于获取元组的长度。len(T1)= 5
Python Tuple内置函数
SN函数描述
1cmp(tuple1, tuple2)比较两个元组元素。
2len(tuple)计算元组元素个数。
3tuple(seq)将列表转换为元组。
4min(tuple)返回元组中元素最小值。
5max(tuple)返回元组中元素最大值。
哪里使用元组
在以下场景中使用元组而不是列表。
1.使用元组而不是列表让我们清楚地知道元组数据是常量且不得更改。
元组可以在没有键的情况下模拟字典。考虑以下嵌套结构,它可以用作字典。
[(101, "John", 22), (102, "Mike", 28), (103, "Dustin", 30)]
由于其不可变性,元组可以用作字典中的键。
列表与元组的对比
SN列表List元组Tuple
1列表的文字语法由[]显示。元组的文字语法由()显示。
2列表是可变的。元组是不可变的。
3列表具有可变长度。元组具有固定长度。
4该列表提供了比元组更多的功能。元组提供的功能少于列表。
5列表用于我们需要存储简单集合而没有约束的场景中,其中可以更改项的值。元组用于我们需要存储只读集合的情况,即,项目的值不能更改。它可以用作字典中的键。
嵌套列表和元组
我们可以将列表中的元组或元组内的列表存储到任意级别。
让我们看一个如何将元组存储在列表中的示例。Employees = [(101, "Ayush", 22), (102, "john", 29), (103, "james", 45), (104, "Ben", 34)]
print("----Printing list----");
for i in Employees:
print(i)
Employees[0] = (110, "David",22)
print();
print("----Printing list after modification----");
for i in Employees:
print(i)
输出:----Printing list----
(101, 'Ayush', 22)
(102, 'john', 29)
(103, 'james', 45)
(104, 'Ben', 34)
----Printing list after modification----
(110, 'David', 22)
(102, 'john', 29)
(103, 'james', 45)
(104, 'Ben', 34)