Python 中的元组

原文:https://www.studytonight.com/python/tuples-in-python

元组很像列表,这就是为什么我们可以像定义列表一样定义它们。简单来说,一个元组就是一个数据序列

与列表不同的是,元组是不可变的,即元组内部的数据是不能修改的,列表的情况则相反。除此之外,元组非常类似于列表,这将使我们更容易理解,因为我们已经知道列表。如果没有,我们建议您先浏览列表教程


定义元组

要定义一个元组,我们只需要分配一个变量,用逗号分隔多个值,该变量将被称为元组

>>> myTuple = 1, 2, 3, 4

如果您尝试在 IDLE 下打印它,

>>> print (myTuple);

(1, 2, 3, 4)

在上例中可以看到myTuple变量实际上是 1、2、3、4 的整数集合。另外,注意那些在打印时出现在整数周围的圆形括号,这些实际上会帮助你区分列表和元组。因为在列表的情况下,我们在列表元素周围有方括号

很明显可以在一个元组中添加不同类型的数据

>>> secondTuple = 1, 2, "python", 4
>>> print (secondTuple);

(1,2,“python”,4)

一个空元组可以使用tuple()函数或者只使用一个空括号()来创建。

>>> emptyTuple = ();
>>> anotherEmptyTuple = tuple();

上面的语句将创建没有元素的元组。编译器会知道emptyTupleanotherTuple是元组,其中没有元素。


元组中的索引

元组中的索引也与列表中的索引非常相似,第一个元素的索引为零,并且在接下来的连续元素中继续增加。此外,反向索引在元组中也有效,即最后一个元素可以通过-2-3等使用索引-1和连续的先前数字来访问。让我们举个例子,

>>> example = "apple", "orange", "banana", "berry", "mango"
>>> print (example[0]);

苹果

在下表中,我们标记了正向和反向索引的元组元素:

| 价值 | 向前索引 | 反向索引 | | 苹果 | Zero | -5 | | 橙色的 | one | -4 | | 香蕉 | Two | -3 | | 浆果 | three | -2 | | 芒果 | four | -1 |


向元组添加元素

正如我们所知,元组是不可变的,因此存储在元组中的数据是不可编辑的,但是向元组中添加更多数据是绝对可能的。这可以使用加法运算符来完成。假设有一个元组,

>>> t = (1, 2, 3, 4, 5)

如果您想向元组中添加另一个元素7,那么您可以按如下方式进行:

>>> t = t + (7,)

如您所见,我们使用加法运算符对元组t进行了add(7,)

>>> print (t);

(1, 2, 3, 4, 5, 7)

因此,我们可以使用+运算符向元组中添加任何类型的元素。

如果我们试着想一想,我们还能用+运算符做什么,我们可能会意识到它也可以用来组合二元组。例如:

>>> print ((1, 2, 5, 8) + (2, 9, 4));

(1, 2, 5, 8, 2, 9, 4)

您可以使用一个元组来创建另一个元组。


删除元组

为了删除元组,使用del关键字。要删除名为myTuple的元组(我们之前已经定义过),请遵循以下示例:

>>> del (myTuple);

并且myTuple将从内存中删除。


元组中的切片

元组切片的工作原理与列表完全相同。让我们从一个例子开始:

>>> t = (1, 2, 3, 4)
>>> print(t[2:4])

(3, 4)

这里,t[2:4]的意思是,从索引2到索引4对元组进行切片,然后取出切片。

切片也可以反向进行,使用负索引从反向遍历元组。


基本操作和功能

我们可以对元组执行的各种操作与列表非常相似。事实上,您刚刚看到了带有元组的+运算符,它处理元组就像处理列表一样。元组的其他一些运算符包括:

增加

将一个元组乘以任意整数,x 将简单地创建另一个元组,其中第一个元组中的所有元素重复 x 次。例如,t*3表示,元组t的元素将重复3次。

>>> t = (2, 5)
>>> print (t*3);

(2, 5, 2, 5, 2, 5)


添加

使用加法运算符,对于两个或更多元组,将所有元素加到一个新元组中。例如,

>>> t = (2, 5, 0) + (1, 3) + (4,)
>>> print (t);

(2, 5, 0, 1, 3, 4)


in关键字

in关键字,不仅可以用于元组,也可以用于字符串和列表。它用于检查序列中是否存在任何元素。如果找到元素则返回True,否则返回False。例如,

>>> t = (1, 2, 3, 6, 7, 8)
>>> 2 in t
>>> 5 in t

真假


len()功能

正如您可能已经猜到的,这个函数用于获取任何元组中的元素数量。

>>> t = 1, 2, 3
>>> print (len(t))

three


cmp()功能

这用于比较两个元组。它将返回10-1,这取决于被比较的两个元组是否相似。

cmp()函数以两个元组作为参数,两者进行比较。如果 T1 是第一个元组, T2 是第二个元组,那么:

  • 如果 T1 > T2 ,则 cmp(T1,T2)返回 1
  • 如果 T1 = T2 ,则 cmp(T1,T2)返回 0
  • 如果 T1 > T2 ,则 cmp(T1,T2)返回 -1

max()min()功能

为了找到元组中的最大值,我们可以使用max()函数,而为了找到最小值,可以使用min()函数。

>>> t = (1, 4, 2, 7, 3, 9)
>>> print (max(t))
>>> print (min(t))

9 1