python元组常用的五种方法,在python中元组的值是不可变的
1.简介tuple是Python中一种重要的内置数据类型。和列表一样,我们经常使用元组将多个对象保存为相应的数据容器。然而,与列表不同,元组——的不变性是不可变的数据序列。
2.举个栗子的例子。下面的代码片段向我们展示了元组的一些常见用法。
响应=(404,“无法访问网站”)
响应代码=响应[0]
response_data=response[1]
断言响应代码==404
Assert response _ data==无法访问网站上面的代码片段对我们来说非常简单。我们使用一对括号创建一个tuple对象来包含不同的元素。我们可以通过索引访问元组中的单个元素。除了上面提到的元组的基本用法,元组还有其他鲜为人知的用法。让我们在这篇文章中回顾一下。
3.创建包含单个元素的元组。在上面的代码示例中,我们使用一对括号来创建一个tuple对象。通常,一个tuple对象包含两个或多个元素,我们使用逗号来分隔这些元素。如果我们想创建一个只包含一个元素的元组,应该怎么做?让我们试试:
math_score=(95)
math_score[0]
回溯(最近一次呼叫):
模块中文件 stdin 的第1行
type error:“int”对象不可订阅
类型(数学分数)
正如我们所看到的,class int (95)并不像我们有些人所想的那样创建元组对象。相反,它创建一个整数。您可能已经想到,正确的方法是在元素后添加一个逗号:
math_score=(95,)
math_score[0]
95
类型(数学分数)
类“元组”4。用下划线和*解包元组。虽然我们可以通过索引访问元组的每个元素,但更常见的接收方式是使用解包技术,例如:
响应=(404,“无法访问网站”)
Response _ code,response _ data=response对于unpack技术,我们定义了很多变量,变量的数量与元组的长度相匹配。也就是说,元组的每个元素被分配给相应的变量。如果我们不需要使用所有创建的变量,建议使用下划线来表示这些未使用的变量。例如,对于上面的例子,我们可能只使用变量response_data而不是response_data。这时,我们可以做以下事情:
_,response_data=response这样,我们会告诉代码的读者,此时我们只对访问tuple对象的第二个元素感兴趣。
当一个tuple对象中有多个元素时,如果我们希望能够访问多个连续的元素,那么我们可以使用星号表达式:
分数=(98,95,95,92,91)
代数,*其他,动物学=分数
Assert others==[95,95,92]如上图,我们有一个tuple对象,按字母顺序保存各门课程的分数。我们知道第一门课是代数,最后一门是动物学。在上面的例子中,我们用星号解包得到了中间的三个分数。
5.使用命名元组,我们可以使用索引或解包操作来访问元组的各种元素,以将这些元素分配给各个变量。有时候,这可能是丑陋的。请参见以下示例:
位置1=(27.2,7.5)
位置2=(30.1,8.4)
位置3=(29.9,7.7)
纬度1=位置1[0]
经度2=位置2[1]
Latitude3,longitude3=location3在上面的代码中,我们有三个位置变量,分别显示了它们各自的位置坐标。当我们访问这些坐标的单个元素时,代码看起来不那么简洁。
虽然我们可以使用自定义类来实现坐标的数据类型,但是对于这种简单的数据类型,自定义类可能会显得臃肿。相反,我们可以使用命名元组作为轻量级数据类型,如下所示:
从集合导入命名元组
Location=namedtuple(Location ,
[纬度,经度])
位置1=位置(27.2,7.5)
位置2=位置(30.1,8.4)
位置3=位置(29.9,7.7)
纬度1=位置1 .纬度
经度2=位置2 .经度
位置。纬度,位置3。经度如上图所示,我们调用namedtuple通过指定类名及其属性来创建一个命名元组类。现在,我们可以通过调用类的构造函数来创建命名元组类的实例。对于这些实例,我们可以使用点符号来访问它们的属性,这是常规元组对象无法使用的特性。
6.在本文中,我们回顾了Python中元组的三个特征。使用这些特性可以大大提高代码的可读性和可理解性。希望你能把它们运用到日常工作中。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。