Python 空元组

2025年1月13日 | 阅读 5 分钟

Python 中的元组是什么?

元组是不可变的、有序的项的集合。由于元组和 Python 列表都是序列,因此它们是相似的。但是,元组和列表有所不同,因为我们无法编辑元组,但可以在初始化后修改列表。此外,我们使用圆括号创建元组,而使用方括号创建列表。

通过将不同的值放在圆括号内,并用逗号分隔,来创建一个元组。例如,

元组示例

您可以通过在赋值语句中在圆括号内不放置任何元素来创建空元组对象。Python 的内置函数 `tuple()` 在不带任何参数调用时也会创建一个空元组对象。

代码

输出

()
()

说明

  • 在第一步中,在不将任何内容放入圆括号的情况下创建了一个新的元组 **T1**。因此,您将得到一个没有任何元素的空元组。
  • 在第二步中,使用 **'tuple()'** 创建了一个空元组 **T2**。当此构造函数不带参数调用时,将返回一个空元组。
  • 这两种方法都返回相同的结果,展示了 Python 语言中空元组构造的两种方法。

1. 如何在 Python 中检查空元组?

您可以通过在赋值语句的圆括号中不放置任何组件来生成空元组。内置方法 `tuple()` 在不传递任何参数时调用也会创建一个空元组对象。

使用 not 运算符

代码

输出

The given tuple is empty
()
Using the len() Function

说明

  • 在此示例代码中
  • 命名了一个名为 **'my_tuple'** 的空元组。
  • **'not'** 运算符应用于 **'my_tuple'**,以确定它在布尔上下文中是否为 **'False'**,这意味着 **'my_tuple'** 是空的。
  • 如果 **'my_tuple'** 没有项(**'my_tuple'** 的布尔值为 **'True'**),则会显示一条消息,指示“给定的元组是空的”。相反,会显示消息“给定的元组不是空的”。
  • 因此,再次打印元组 **'my_tuple'** 以检查其内容,在这种情况下,**'tuple()'** 将是空的。

代码

输出

The given tuple is empty
()

说明

  • 在此程序中
  • 设置了一个名为 **'my_tuple'** 的元组,其中包含一个空列表。
  • **`len()`** 函数用于获取元组的长度,在这种情况下,对于空元组,长度将是 **'0'**。
  • 该程序使用 if-else 语句来检查元组的长度(**'len_tuple'**)是否等于零。如果是,则打印“给定的元组是空的”;否则,打印“给定的元组不是空的”。
  • 这里的最后一步是打印 **'my_tuple'** 来验证其内容,在这种情况下,它将是空的 **'tuple()'**。

2. 将元组更改为空元组

假设我们有一个包含元素的元组。我们需要将其更改为空元组。让我们看看如何做到这一点。

代码

输出

Original tuple:  ('a', 3, 'b', 'c', 'd', 'e', 'g', 's', 'k', 'v', 'l')
After removing a single item:-  ('a', 3, 'b', 'c', 'e', 'g', 's', 'k', 'v', 'l')
New empty tuple:-  ()

说明

  • 在此示例代码中
  • 定义(或构造)了一个名为 **'tuple_'** 的原始元组,其中包含一些项。
  • 为了练习从元组中删除单个元素,通过连接原始元组的序列来创建一个新元组。这将导致元组丢失位置 4 的元素(第五个元素被弹出)。
  • 之后,列表的元素被解包到一个元组中,这是一个空元组。这将通过 **'list()'** 来完成。
  • **'For'** 循环通过使用 **'pop()'** 遍历列表的整个长度来删除列表中的所有元素。
  • 然后使用 `tuple()` 函数将结果转换为空元组,该函数使用 **'tuple()'**。
  • 执行此行时,将打印空元组以确认其内容。

尽管元组是不可变的,也就是说,没有办法立即删除它们的元素,但您可以通过创建一个新元组但排除一些元素来做到这一点。另一种方法是,我们可以先将元组转换为列表,然后对它们执行任何操作,最后再将它们转换回元组以获得所需的结果。

与其他空元组进行比较

我们将看到比较两个元组的结果

代码

输出

my_tuple1 is not empty

说明

  • 创建了一个名为 **'my_tuple'** 的空元组。
  • 我们可以创建另一个名为 **my_tuple** 的元组,其中包含两个元素:python 和 javatpoint。
  • 然后,程序使用 **'my_tuple'** 和 **'my_tuple1'** 使用 **'=='** 运算符进行比较。
  • 由于“my_tuple”是空元组而“my_tuple1”不是,因此条件 **"my_tuple == my_tuple1"** 的计算结果为 **False**(“my_tuple == my_tuple1”)。
  • 最后,程序输出 **'my_tuple1** 不是空的。'
  • 以下程序显示了 Python 中两个元组的基本比较。提供的比较结果取决于元组中包含的元素。

下一个主题Python 绘制直线