在创建简单的 tuple 之后,前面的示例显示如何选择一个数据项 —— 在本示例中是整数 2。这时,请注意 Python 使用了零排序,其中集合中的项目从零开始编号。如果您熟悉使用 Java 语言、C# 或其他从 C 语言派生的语言进行编程,那么您应该非常熟悉此行为。否则,该概念也是非常简单的。用于访问数据项的索引只声明集合中越过第一个数据项有多远,或者称为序列,您需要去获得所需的内容。因此,要获得第三个数据项(在本示例中为整数 2),您需要从第一个数据项起越过两个数据项。在访问第三个数据项时,Python 知道它是一个整数对象。您还可以方便地从集合中提取多个数据项。在本示例中,您创建了一个新的 tuple,其值为从最初的 tuple 开始第一、第二和第十个值。
其余的示例显示了如何使用 Python 的分段功能从序列中一次选择多个数据项。术语分段 是指从序列中对数据项进行分段的方法。分段的工作方式是声明开始索引、结束索引和一个可选的步骤大小,全部都用分号分隔。因此,t[2:7] 将 tuple 中的第三到第七个数据项分段,而 t[2:7:2] 则对每两个数据项进行分段,从 tuple 中的第三个数据项开始一直到第七个数据项。
我目前创建的 tuple 对象是同类的,它们仅包含整数对象。所幸的是,tuple 要比显示的示例复杂得多,因为 tuple 实际上是一个异构容器(参见清单 7)。
tuple |
您会看到,创建可以拥有各种类型数据项(其中包括另一 tuple)的 tuple 是多么方便。并且可以使用方括号操作符以相同的方式访问所有数据项,它支持将不同类型的有序数据项分段。然而,tuple 是不可变的。因此,当我尝试更改第五个元素时,发现不允许对数据项分配。打一个简单的比方,在您将某些东西放入口袋后,改变所取东西的惟一方式是取一个新口袋,并将所有数据项放进去。
如果需要在现有 tuple 中创建一个包含数据项子集的新 tuple,最简单的方法是使用相关的片段,并根据需要同时添加子集(参见清单 8)。
tuple
|
注册
个人空间
