当前位置: 首页 > 后端技术 > Python

带你快速了解Python3中的元组

时间:2023-03-26 00:51:44 Python

Python3中的元组有如下形式表示:一个元组(tuple)是一种静态(immutable)或不可改变(unchangeable)的数据结构,里面的元素是按照一定的顺序排列的。它是静态的,所以元组中的元素不能被修改。元组用于对数据进行分组。元组中的每个元素都称为“项目”。元组中的值用括号括起来,用逗号分隔。空元组可以写成coral=(),但是只有一个元素的元组必须使用逗号:coral=("bluecoral",)。如果您使用print()函数打印一个元组,您将得到以下输出,其中元组仍然包裹在'()'中。当你试图理解Python中的元组或其他集合类型的数据结构时,考虑计算机上存在的不同集合会很有帮助:不同类型文件的排列、歌曲列表、浏览器中的书签、您的邮箱、您在流媒体上获得的视频集等等。元组就像列表,但是元组中的值是不可变的。正因为如此,当你在代码中使用元组时,就意味着告诉别人你不希望集合中的数据被修改。另外,因为元组中的值是不可变的,与使用列表相比,使用元组可以优化你的代码。1、元组的索引是一个有序的元素集合,通过索引可以单独访问元组中的任何一项。每个条目都与一个索引号相关联,该索引号是一个从0开始计数的整数值。对于珊瑚元组,其索引如下:元组中的第一项,字符串“bluecoral”,索引为0,最后一个元组的元素“elkhorncoral”的索引号为3。因为元组中的每个项目都有相应的索引号,所以我们可以单独访问每个元素。现在我们通过索引号单独访问一个元素:如上表所示,索引号的范围是0~3,所以我们可以通过索引号访问每一个元素:如果我们在访问这个的时候使用一个大于3的元组索引号,会提示索引号越界。除了正数,索引号也可以是负数。从后往前倒数,从-1开始。当我们去专门访问一个长元组的最后几项时,负索引号非常有效。还是对于珊瑚元组,它的负索引号如下:所以如果你想通过负索引打印出“bluecoral”这一项,你可以这样写:我们也可以将'+'运算符传递给元组中的字符串值与另一个字符串连接:我们将索引1处的元素值与字符串“Thisreefismadeupof”组合在一起。我们还可以使用“+”连接两个或多个元组。元组中的每一项都有对应的索引号,我们可以方便地访问元组中的每一个元素。2.元组的切片我们使用索引号来访问元组中的一个项目。一个切片可以通过构造索引号范围[x:y]同时获取一个元组中的多个值。假设我们要获取珊瑚元组中间的值,我们可以构造一个切片如下。当我们构造切片[1:3]时,第一个数字表示切片从哪里开始(包括这个索引号),第二个数字表示切片在哪里结束(不包括这个索引号),所以[1:3]可以取取出索引号为1和2的元素。如果要获取除端点元素以外的所有元素,可以省略[x:y]中的一项。如果要打印出珊瑚元组中的前三个元素,可以这样写:这将打印出元组第一部分的信息,停在索引号为3的元素之前。为了打印出元组后半部分的信息,[x:y]中y的值可以忽略:我们也可以使用负索引号构造一个切片来访问元组:切片中的最后一个变量是步幅(stride),它指的是当我们取出前一项时,移动了多少个元素才能得到下一个值。在前面的例子中,我们忽略了这个变量,使用了默认值1。所以我们可以得到两个索引号之间的所有元素。完整切片构造方法[x:y:z],z指的是步长。我们构造一个更长的元组,通过一个步长为2的切片访问它:我们构造的切片[1:11:2]打印出索引号从1(包括这个索引号),到A值的索引号11(不包括这个索引号),步长为2告诉我们每隔一个项目打印一次。我们可以忽略切片中的前两项,只使用步幅变量:通过将切片中的步幅设置为3,打印索引号可被3整除的每个元素:0、1、2、3、4、5,6,7,8,9,10,11,12通过使用正数或负数形式的切片并设置步长,我们可以更有针对性地获取元组中的值。3.元组连接和复制运算符可用于连接或复制元组。连接由'+'完成,复制由'*'完成。'+'可以将两个或多个元组连接在一起。我们可以将两个元组中的值组合起来得到一个新的元组。输出是:因为'+'运算符可以用于连接,所以它可以用于将多个元组组合成一个新的元组。但是,我们仍然无法更改现有的元组。'*'操作符可以用来复制元组,也许你需要复制一个目录下的所有文件到服务器,或者你想和你的朋友分享一个播放列表,在这些情况下,你需要复制一个数据集合.让我们通过将珊瑚元组乘以2和将海带元组乘以3来创建新元组。通过'*'运算符,我们可以将元组复制指定次数,并通过原始数据序列创建新元组。现有的元组可以通过“+”或“*”连接或复制。4.元组函数你可以使用一些内置函数来操作元组。4.1len()类似于字符串和列表,我们可以使用len()函数来计算元组的长度,并将元组作为参数传入:当你想得到最大值或最小值时,这个函数非常有用不同集合长度的值。当对kelptuple和numbers使用len函数时,我们得到如下输出:我们得到上面的输出是因为kelp有4个元素,而numbers有13个元素:上面例子中元组的长度比较小,当元组更小的长期len()可以得到具体数量的元素。4.2max()和min()当我们处理数值元组(包括整数和浮点数)时,我们可以使用max()和min()函数来查找特定元组中的最大值和最小值。这两个函数可以让我们获取考试成绩、温度、价格等定量数据的信息。再看浮点数的元组:为了使用max()函数,需要将元组传入函数,最大(更多_数字)。max()函数可以获取元组中的最大值。同样,我们也可以使用min()函数来获取最小值。这样我们就可以找到并打印元组中的最小值。与len()函数一样,当元组中有很多项时,max()和min()很有用。5、元组和列表的区别元组和列表的第一个区别是元组中的值不能被修改。这意味着不能在元组中添加或删除值,也不能修改项的值。但是,我们可以通过“+”等运算符构造新的元组。让我们再次操作珊瑚元组,我们想用“黑珊瑚”替换数据项“蓝珊瑚”。如果您尝试像列表一样操作元组:它会抛出错误。这是因为元组的值是不能修改的。如果你完成了一个元组的构建,然后意识到你真正需要的是一个列表,我们可以转换它。要将元组转换为列表,我们可以使用list()函数。现在我们将元组转换为用[]包裹的列表。同样,您可以使用tuple()函数将列表转换为元组。您可以在“如何在Python3中转换数据”中了解更多信息。6.总结元组是一种有序的数据类型,不可修改。因为它比列表运行得更快,所以使用元组的代码会得到一定程度的优化。使用元组类型意味着您不希望在与其他人协作编写代码时修改自己的数据序列。