Python Tuple如何创建及应用

65 阅读4分钟

Python Tuple Example Tutorial From Scratch.png

在 Python 编程语言中,元组类似于列表,不同的是,一旦分配了元组,我们就不能改变其中的项目,而在列表 中,项目可以被修改。元组是一个由逗号分隔的 Python 对象的集合。

Python 元组

元组是一个内置的Python 集合,它是有序的不可更改的 。Python 元组是用圆括号写的。因为元组是不可改变的,所以迭代元组比列表快。所以有一个轻微的性能提升。

如果你有不随时间变化的数据,把它实现为一个元组将保证它保持写保护。

deserts = ('oreo', 'cupcake', 'nougat', 'jellybean', 'pie')

以上是Python语言中Tuple的一个简单例子。

如何在Python中创建一个元组

要在Python创建一个元组,把所有的元素放在 小括号 () 中 ,用 逗号 隔开 。小括号是可有可无的,但 它是 一种很好的写法。 一个元组可以有任何数量的项目,而且它们可以是不同的类型。

让我们看看下面的例子,一个元组中有不同类型的项目。

// app.py

deserts = ('oreo', 1, True, ['Android', 'iOS'], 'pie')
print(deserts)

在上面的例子中,我们采用了字符串、整数列表 数据类型来创建一个元组,它是一个有效的元组。

让我们来写一个没有括号的元组。

deserts = 'oreo', 1, True, ['Android', 'iOS'], 'pie'
print(deserts)

上面的代码也是有效的,但它不是最好的写法。这就是为什么我们要在项目周围加上小括号。

如何在 Python 中访问元组元素

要在Python中访问元组元素,请参考 方括号内的索引号。

让我们看看下面的例子。

// app.py

deserts = ('oreo', 1, True, ['Android', 'iOS'], 'pie')
print(deserts[3])

请看下面的输出。

Python Tuple Example Tutorial | Complete Introduction On Python Tuples

如何在Python中循环浏览一个元组

要在Python循环浏览一个元组,使用for循环。for 循环用于对一个序列进行迭代。for 循环不需要事先设置一个索引变量。

让我们看看下面的例子。

# app.py

deserts = ('oreo', 'nougat', 'jellybean', 'pie')
for item in deserts:
    print(item)

其输出结果如下。

Complete Introduction On Python Tuples

尝试改变元组的值

让我们改变一个元组中的值,看看结果如何。

# app.py

deserts = ('oreo', 'nougat', 'jellybean', 'pie')
deserts[1] = 'kitkat'
print(deserts)

我使用的是Visual Studio Code,并且安装了一个叫做pylint的Python扩展。这就是为什么我的编辑器向我抛出一个错误,说 'deserts'不支持项目赋值。不幸的是,这意味着我们不能修改它。但是,我们还是要运行这个文件,看看控制台中的输出。

Try To Change Tuple Values in Python

Python 元组的长度

要在Python中找到一个元组的长度,可以使用len() 函数。 len() 方法返回 一个元组有多少个元素。

# app.py

deserts = ('oreo', 'nougat', 'jellybean', 'pie')
print(len(deserts))

Tuple Length in Python

如何删除Tuple中的一个元素

一个元组是不可改变的,所以我们不能删除单个或多个元素,但 我们可以删除整个元组。

请看下面的例子。

// app.py

deserts = ('oreo', 'nougat', 'jellybean', 'pie')
del deserts
print(deserts)

我们使用del关键字 来删除整个元组。所以上面的代码的输出将得到一个错误,因为元组已经被删除了。所以没有什么可打印的,因为编译器没有找到任何deserts元组。 所以它抛出了一个错误。

Remove Items in Tuple

tuple()构造函数

我们也可以使用tuple()构造函数来制造一个元组。

# app.py

icecreams = tuple(('vanila', 'american nuts', 'soft serve', 'choc ice'))
print(icecreams)

其输出结果也是一样的。

The tuple() Constructor in Python

基本图元操作

元组对 + 和 * 操作符的反应很像 Python 中的字符串;它们在这里意味着连接和重复,只是结果是一个新的元组,而不是一个字符串。

Python表达式结果说明
len((1, 2, 3, 4, 5, 6))6长度
(11, 21, 31) + (41, 51, 61)(11, 21, 31, 41, 51, 61)串联
('App',) * 4('App', 'App', 'App', 'App')重复
21在(11, 21, 31)成员
for z in (11, 21, 31): print(z),11 21 31迭代

图元的嵌套

让我们看看下面这个嵌套图元的例子。

# app.py

deserts = ('oreo', 'nougat', 'jellybean', 'pie')

icecreams = tuple(('vanila', 'american nuts', 'soft serve', 'choc ice'))

nestedTuples = (deserts, icecreams)
print(nestedTuples)

Nesting of Tuples in Python

本教程就到此为止。