在 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中循环浏览一个元组
要在Python中循环浏览一个元组,使用for循环。for 循环用于对一个序列进行迭代。for 循环不需要事先设置一个索引变量。
让我们看看下面的例子。
# app.py
deserts = ('oreo', 'nougat', 'jellybean', 'pie')
for item in deserts:
print(item)
其输出结果如下。
尝试改变元组的值
让我们改变一个元组中的值,看看结果如何。
# app.py
deserts = ('oreo', 'nougat', 'jellybean', 'pie')
deserts[1] = 'kitkat'
print(deserts)
我使用的是Visual Studio Code,并且安装了一个叫做pylint的Python扩展。这就是为什么我的编辑器向我抛出一个错误,说 'deserts'不支持项目赋值。不幸的是,这意味着我们不能修改它。但是,我们还是要运行这个文件,看看控制台中的输出。
Python 元组的长度
要在Python中找到一个元组的长度,可以使用len() 函数。 len() 方法返回 一个元组有多少个元素。
# app.py
deserts = ('oreo', 'nougat', 'jellybean', 'pie')
print(len(deserts))
如何删除Tuple中的一个元素
一个元组是不可改变的,所以我们不能删除单个或多个元素,但 我们可以删除整个元组。
请看下面的例子。
// app.py
deserts = ('oreo', 'nougat', 'jellybean', 'pie')
del deserts
print(deserts)
我们使用del关键字 来删除整个元组。所以上面的代码的输出将得到一个错误,因为元组已经被删除了。所以没有什么可打印的,因为编译器没有找到任何deserts元组。 所以它抛出了一个错误。
tuple()构造函数
我们也可以使用tuple()构造函数来制造一个元组。
# app.py
icecreams = tuple(('vanila', 'american nuts', 'soft serve', 'choc ice'))
print(icecreams)
其输出结果也是一样的。
基本图元操作
元组对 + 和 * 操作符的反应很像 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)
本教程就到此为止。