Python 元组
Python 元组
Python Tuple 用于存储不可变 Python 对象的序列。元组类似于列表,因为存储在列表中的项目的值可以改变,而元组是不可变的,并且存储在元组中的项目的值不能改变。
创建元组
元组可以写成逗号分隔(,)值的集合,用小括号()括起来。圆括号是可选的,但使用它是一种好的做法。元组可以定义如下。
T1 = (101, "Peter", 22) |
输出:
<class 'tuple'> |
注意:不用括号创建的元组也称为元组打包。
可以如下创建一个空元组。
T4 = ()
用单个元素创建元组略有不同。我们需要在元素后面放一个逗号来声明元组。
tup1 = ("JavaTpoint") |
输出:
<class 'str'> |
元组的索引方式与列表相同。元组中的项可以通过使用它们特定的索引值来访问。
考虑以下元组示例:
示例- 1
tuple1 = (10, 20, 30, 40, 50, 60) |
输出:
(10, 20, 30, 40, 50, 60) |
示例- 2
tuple1 = tuple(input("Enter the tuple elements ...")) |
输出:
Enter the tuple elements ...123456 |
元组的索引方式与列表相同。元组中的项可以通过使用它们特定的索引值来访问。
我们将在教程的这一部分看到 tuple 的所有这些方面。
元组索引和切片
元组中的索引和切片类似于列表。元组中的索引从 0 开始,到长度(元组)- 1。
元组中的项可以通过使用 index []运算符来访问。Python 还允许我们使用冒号运算符来访问元组中的多个项目。
请参考下图,详细了解索引和切片。
考虑以下示例:
tup = (1,2,3,4,5,6,7) |
输出:
1 |
在上面的代码中,元组有 7 个元素,表示 0 到 6。我们试图访问元组外部的一个元素,该元素引发了索引错误。
tuple = (1,2,3,4,5,6,7) |
输出:
(2, 3, 4, 5, 6, 7) |
负索引
元组元素也可以通过使用负索引来访问。索引-1 表示最右边的元素,索引-2 表示倒数第二个元素,依此类推。
使用负索引从左到右遍历元素。考虑以下示例:
tuple1 = (1, 2, 3, 4, 5) |
输出:
5 |
删除元组
与列表不同,元组项不能通过使用 del 关键字删除,因为元组是不可变的。要删除整个元组,我们可以在元组名称中使用 del 关键字。
考虑下面的例子。
tuple1 = (1, 2, 3, 4, 5, 6) |
输出:
(1, 2, 3, 4, 5, 6) |
基本元组操作
像连接(+)、重复(*)、成员资格(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) |
是否为成员
print (2 in T1) |
遍历
for i in T1: |
输出
1 |
len()
len(T1) = 5 |
count()
# Creating tuples |
输出
Count of 2 in T1 is: 5 |
index()
# Creating tuples |
输出
First occurrence of 1 is 2 |
Python 元组内置函数
函数 | 描述 |
---|---|
len(tuple) | 它计算元组的长度。 |
max(tuple) | 它返回元组的最大元素 |
min(tuple) | 它返回元组的最小元素。 |
tuple(iterable) | 它将指定的序列转换为元组。 |
在哪里使用元组?
在以下场景中使用元组代替列表。
1.使用 tuple 代替 list 让我们清楚地知道 tuple 数据是不变的,不能改变。
2.Tuple 可以模拟没有键的字典。考虑下面的嵌套结构,它可以用作字典。
[(101, "John", 22), (102, "Mike", 28), (103, "Dustin", 30)] |
列表与元组
| 序号 | 列表 | 元组 |
| one | 列表的字面值语法由[]显示。 | 元组的字面语法由()表示。 |
| Two | 列表是可变的。 | 元组是不可变的。 |
| three | 列表的长度是可变的。 | 元组具有固定长度。 |
| four | 该列表提供了比元组更多的功能。 | 元组提供的功能比列表少。|
| five | 该列表用于我们需要存储没有约束的简单集合的场景,其中项目的值可以更改。 | 元组用于我们需要存储只读集合的情况,即项目的值不能更改。它可以作为字典里面的钥匙。|
| six | 列表的内存效率不如元组。 | 元组因其不变性而更具内存效率。 |