本文目录一览:
- 1、python里面元组是什么意思?
- 2、Python中的元组如何应用?
- 3、Python元组常用操作小技巧
- 4、python基础之序列类型的方法——列表amp;元组
- 5、Python中的元组(Tuple)
- 6、Python中元组常用的方法有哪些,分别有什么作用?
python里面元组是什么意思?
元组其实和列表的差距并不是很大,但是也有其独立的特点:
①元组是一系列不可变的Python对象。元组是一种序列,就像列表一样;列表通常用来存储相同类型的数据;而元组在实际开发中,通常用来存储不同类型的数据。
②元组和列表之间的主要区别是元组不能像列表那样改变元素的值,可以简单地理解为“只读列表”。 元组使用小括号 -(),而列表使用方括号 -[];
③元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
p class="ztext-empty-paragraph"
创建元组:需使用逗号分隔值放入小括号的一个序列。 或者,也可以将这些逗号分隔值放在括号之间。
元组元素的访问:请使用方括号进行指定索引切片或索引,以获取该索引处的值。
更改元组:元组是不可变的,但是可以使用现有元组的一部分来创建新的元组。
删除元组元素:元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组。
python元组构建了对象的简单组合,元组与列表非常相似,但元组不能在原位置修改,通常写成包在圆括号中的一系列项,且具有列表的大多数属性。
元组是:
任意对象的有序集合:与字符串和列表类似,元组是一个基于位置的有序对象集合,可以嵌入任何类型的对象。
通过偏移量存取:同字符串、列表一样,元组中的元素也是通过偏移量来访问的,支持索引和分片。
属于“不可变序列”:与字符串相同,元组是不可变的,不支持适用于列表的任何原位置修改操作。
固定长度、多样性、任意嵌套:元组不可变,所以不能改变元组长度,元组可以包含复合对象,支持任意嵌套。
对象引用数组:与列表相似,元组也是对象引用的数组,存储了指向其他对象的存取点。
Python中的元组如何应用?
元组是不可变的,即元组的项不能被修改。元组用圆括号“()”括起来,并用逗号“,”来分隔其中的项。
例如,下面的元组包含了三个不同数据类型的项:
与列表不同的是,元组一旦创建就不可修改,如果尝试修改,Python解释器会报错:
元组是一种序列类型,因此,上一节介绍的通用序列操作元组也都支持,此处不再赘述。下面要介绍的是元组的另外一些用法或特性。
1、 创建元组
在创建元组时,可以不用加圆括号(除非它是其他数据类型的一部分,如一个在列表中的元组,此时必须加圆括号):
可以使用元组的工厂函数tuple()创建元组。如果要创建一个空的元组,可以使用不包含任何项的圆括号或者是没有参数的tuple()函数:
tuple()函数也可以有参数,且参数必须为可迭代对象:
创建只有一个项的元组时有个“小陷阱”,即用圆括号创建元组时,如果括号中只有一个项,而没有逗号,那么创建的并不是元组,而是这个项本身的类型:
创建只有一个项的元组,应该在该项的后面紧跟着一个逗号(或者使用tuple()函数):
2、 嵌套元组
元组与列表一样,可以嵌套,同样元组中也可以包含列表:
关于Python的基础问题可以看下这个网页的视频教程,网页链接,希望我的回答能帮到你。
Python元组常用操作小技巧
所以这篇文章,我们先来回顾和总结Python数据结构里常用操作。Python中常见的数据结构可以统称为容器(container)。序列(如列表和元组)、映射(如字典)以及集合(set)是三类主要的容器。而扁平序列如str、bytes、bytearray、memoryview 和 array.array等不在这篇文章的讨论范围内。
在此,我们先从元组开始说起。
元组区别于列表的显著特征之一就是它不能被修改,但其另外一个作用就是 用于没有字段名的记录 [1] 。因为后者经常被忽略,我们先来看看元组作为记录的作用。
使用括号就可以定义一个元组。元组中的每个元素都存放了记录中一个字段的数据,外加这个字段的位置。正是这个位置信息给数据赋予了意义。下面的例子中,元组就被当作记录加以利用:
输出为:
上述for循环中的操作提取了元组中的元素,也叫作拆包(unpacking)。平行赋值是对元组拆包很好的应用,示例如下:
还有一个经典而优雅的应用是交换变量的值:
用 * 运算符把一个可迭代对象拆开作为函数的参数,例如Python的内置函数pmod接收两个数字类型的参数,返回商和余数。以下范例将使用 * 将元组传入函数。
输出为:
有些函数有多个返回值,将其赋给一个变量时,变量类型即是元组:
输出为:
zip是Python的内置函数,能够接收两个或多个序列,并组成一个元组列表,在Python3中会返回一个迭代器,如下所示:
输出为:
元组当然也支持一些常规操作,如对于元组 a = (1, 'y', 5, 5, 'x') :
上述内容不仅涵盖了元组的基本操作,同时也结合了实际工作中常搭配使用的其他函数、运算符等。在回顾这些知识时主要参考了两本经典的Python编程书籍:《流畅的Python》和《像计算机科学家一样思考Python》,有兴趣的朋友可以深入阅读!
希望这篇文章对你有帮助,下回将总结Python列表的使用技巧。
[1]《流畅的Python》:
python基础之序列类型的方法——列表amp;元组
首先登场的选手是python的列表,列表属于可变类型,所以它将有完整的增删改查方法,让我们一起来看看具体是什么。
增,顾名思意就是可以对列表进行新增元素的操作,python的列表提供了三种新增元素的操作,分别是:append() ,insert(), extend()
首先是append(),它可以将一个元素追加到列表的末尾。
举个栗子:
上述代码中,我们使用的是li.append('新增内容')的方式来为列表添加元素
li.append()使列表li调用自身的方法append(),这样就可以在列表的末尾添加一个新的元素。
接下来是insert(),append()是排队,那insert()就是插队的意思啦,它可以将一个元素插入到列表的自定位置:
li.insert(索引,元素)
这样就将字符串helloworld插入到了列表的第四个位置里。
上面两个方法是对单个元素进行增加,如果我们需要增加多个元素怎么办?
那就可以使用我们的extend()来进行添加,extend()可以将序列中的每个元素添加到末尾:
上面的代码先定义了两个列表l1和l2,然后使用l1.extend(l2),将l2的每个元素添加到了l1的末尾。
增加讲完了,接下来进行删除操作,删除也有对应的四个方法:del(),pop(),remove(),clear()
del()是单独的方法,不需要通过列表本身来进行调用,可以直接使用:
上述代码删除了li[0],但是请注意,如果不进行索引的话,默认会将这个变量删除,请谨慎使用:
这就是删除了整个变量,再打印这个变量时就会提示变量未定义
pop()方法不带参数的话删除默认删除最后一个元素,带参数的话则删除指定的下标值:
pop()还有个神奇的地方,它可以让你需要删除的参数取出来继续使用,使用完了再进行删除:
上述代码使用pop()删除了第一个元素,然后使用第一个元素进行了一个简单的判断,说明pop()可以为我们返回删除的元素,让我们先使用,使用完再删除
remove()用来删除一个指定元素,无返回值,无法使用下标删除:
上述代码使用remove()删除了一个元素l
clear()用于清空列表,与del不同的是,它会为我们保留空列表,而不会把变量都删除:
上述代码清除了列表后,保留了空列表
改的方法就比较简单,直接索引出下标重新赋值即可:
这里就对li[0]进行了重新赋值
有通过index查询指定元素返回对应下标,也可以使用count来计算该元素出现过的次数:
除了增删改查,列表中还有其他的方法复制copy()、倒叙排列reverse()、从小到大排列sort()
使用li.copy(),再用一个变量接收复制的列表,就可以实现复制出一个新的列表来
sort()方法可以将数字类型的进行从小到大的排列,一般也用于同类型的排列
元组作为不可变类型,只能查和删,如果需要其他操作需要转换成列表
只能删除整个元组,无法使用下标值,删除后再使用会提示没有定义变量
元组只有查和删的方法,如果需要修改应先转成列表修改再转回元组,但是不建议这么做,因为修改过的元组就已经不是原来的那个元组了,而且设置元组也是为了这组数据不希望受到修改
以上就是关于列表元组的方法了,有兴趣的小伙伴可以自己尝试一下。
如果有哪些错误或者不好的地方,还请各位大佬指出来,我会虚心接受并修改错误,谢谢!
Python中的元组(Tuple)
在Python中,元组(Tuple)与列表(List)类似,也是一个有序的序列,但元组是一个不可变对象,其一旦初始化后便无法进行修改。
一般在创建元组时,分为创建空元组和非空元组,其创建方式如下:
从上面可以看到,我们只需要把元组的所有元素放在 小括号 () 里面,每个元素之间通过 逗号 , 间隔起来即可,当然和列表一样,元组中同样允许存放不同数据类型的元素。
元组中使用的 () 是常见的数学运算符,如果参考列表的创建,如下:
从上面可以看到,我们创建出来的压根就不是元组类型。那么我们想创建一个只包含一个元素的元组时,需要怎么创建呢?
很简单,只需要在元素后加上一个 逗号 , ,这样创建出来就是一个元组。
当我们需要访问元组中的元素,可以类似列表一样通过索引取值或切片取值。
如果访问的索引不存在,那么会报错: IndexError: tuple index out of range
在元组中,可以像列表一样使用切片,语法为: 元组[start:end:step] ,通过切片可以获取到元组中指定范围的元素,返回结果是一个新元组。在这里,需要注意切片的规则是左闭右开,也就是说包含头部 start,但不包含尾部 end ,而 step 则表示切片的步长,需要每间隔 step 个元素取一次。
在上面我们提到了元组是不可变的,这就意味着我们创建一个元组之后,不能再去改变其值了,比如下面这样就会出现报错:
假设元组中存在元素是一个可变对象,如果我们不改变元组,但改变了可变对象的值,又会得到怎么的结果呢?请看下面实例:
从上面可以看到,元组中的第 2 个元素似乎发生了变化,这岂不是和上面说的元组不可变自相矛盾了吗?
其实,我们说的元组不可变,指的是元组中各元素的指向永远保持不变。在上面操作中,元组中第 2 个元素指向的一直是 列表nums ,我们改变的其实不是元组的元素,而只是改变了 列表nums 中的元素。
元组是不可变的,因此我们就不能删除元组中的元素,但是,我们可以通过 del 语句删除整个元组。
通过关键字 in ,可检查当前元组中是否包含指定元素,返回结果为布尔值 True 或 False。
通过关键字 in ,还可以用于遍历当前元组。
Python中元组常用的方法有哪些,分别有什么作用?
元组特点:定义元组使用小括号,且逗号隔开各个数据,数据可以是不同的数据类型
如果定义的元组只有一个数据也需要加逗号,否则数据类型为唯一的这个数据的数据类型
元组中的数据是不可以删除,修改的
如果要存储对个数据,但这些数据是不能修改的数据就使用元组
使用方法:
1、查找 元组数据不支持修改,只支持查找
按下标查找数据
index()
count()
len()
# 1,按下标查找数据
tuplel = ('aa','bb','cc','dd')
print(tuplel[0]) # aa
# 2,index():查找某个数据,如果数据存在返回对应的下标,否则报错,语法和列表,字符串的index方法相同
tuplel = ('aa','bb','cc','bb')
print(tuplel.index('aa')) # 0
# 3,count():统计某个数据在当前元组中出现的次数
tuplel = ('aa','bb','cc','bb')
print(tuplel.count('bb')) # 2
# 4,len()
print(len(tuplel)) # 4--tuplel 中有4个数据
2、修改
元组内的直接数据如果修改则立即报错
但是如果元组里面有列表,修改列表里面的数据则是支持的,
t1 = ('aa','bb','cc','dd')
# t1[0] = 'aaa' # 直接报错,列表数据不允许修改
t2 = ('aa','bb',['cc','dd'])
print(t2)
print(t2[2][0])
t2[2][0] = 'xiaoguai'
print(t2)