前言:
如今我们对“python中元组”大体比较关心,看官们都需要剖析一些“python中元组”的相关内容。那么小编在网络上网罗了一些有关“python中元组””的相关资讯,希望姐妹们能喜欢,同学们快快来学习一下吧!什么是元组?
元组是一个固定长度, 不可改变的Python序列对象。 创建元组的最简单方式, 是用
逗号分隔一列值:
>>> tup = 4, 5, 6>>> tup(4, 5, 6)
当用复杂的表达式定义元组, 最好将值放到圆括号内, 如下所示:
>>> b=(4, 5, 6), (7, 8)>>> b((4, 5, 6), (7, 8))元组的一些操作
1.元组的替换、拆分
用 tuple 可以将任意序列或迭代器转换成元组:
(1)字符串能自动拆分成各个字母
>>> c=tuple('string') #tuple方法>>> c('s', 't', 'r', 'i', 'n', 'g')
(2)拆分序列
>>> tuple([1,2,3])(1, 2, 3)
(3)元组中存储的对象可能是可变对象。 一旦创建了元组, 元组中的对象就不能修改
了;但,如果元组中的某个对象是可变的, 比如列表, 可以在原位进行修改:
>>> d=tuple(['foo', [1, 2], True])>>> d('foo', [1, 2], True)>>> d[0]'foo'>>> d[1][1, 2]>>> d[2]True>>> d[1].append(10) #list可修改,在原位修改list>>> d('foo', [1, 2, 10], True)>>> d[2]=False #元组不可修改,修改元组会出错Traceback (most recent call last):File "<pyshell#122>", line 1, in <module>d[2]=FalseTypeError: 'tuple' object does not support item assignment2.元组的"+"、"*"运算
可以用加号运算符(+)将元组串联起来:
>>> (4, None, 'foo') + (6, 0) + ('bar',)(4, None, 'foo', 6, 0, 'bar')
可以用乘号运算符(*)将元组复制串联:
>>> ('foo', 'bar') * 4('foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'bar')>>> (1,2,3)*3(1, 2, 3, 1, 2, 3, 1, 2, 3)
3.拆分元组
元组数据不可修改,但是元组可以方便的赋值给其他变量,数量相同时,可以一次赋值给多个变量。
>>> a=4,5,6 #创建一个元组>>> a #创建的元组的值(4, 5, 6)>>> a,b,c=a #元组赋值给新变量a,b,c>>> a4>>> b5>>> c6
元组中嵌套的元组也会被拆分赋值
>>> a,b,c=1,2,(0,8)>>> c(0, 8)>>> d,e,(f,g)=1,2,(0,8)>>> f0
直接交换两个变量
>>> a,b=1,2>>> a1>>> b2>>> a,b=b,a>>> a2>>> b1
变量拆分常用来迭代元组或列表序列:
>>> seq=[(1,2,3),(4,5,6),(7,8,9)]>>> for a,b,c in seq:print('a={0},b={1},c={2}'.format(a,b,c))a=1,b=2,c=3a=4,b=5,c=6a=7,b=8,c=9
Python最近新增了更多高级的元组拆分功能, 允许从元组的开头"摘取"几个元素。
它使用了特殊的语法 *rest , 这也用在函数签名中以抓取任意长度列表的位置参
数:
>>> values=1,2,3,4,5,6,7>>> a,b,*rest=values #程序员 a,b,*_=values>>> a1>>> b2>>> rest[3, 4, 5, 6, 7]
rest 的部分是想要舍弃的部分, rest的名字不重要。 作为惯用写法, 许多Python
程序员会将不需要的变量使用下划线:
4.tuple方法
因为元组的大小和内容不能修改, 它的实例方法都很轻量。 其中一个很有用的就
是 count ( 也适用于列表) , 它可以统计某个值得出现频率:
>>> tup=a,a,a,b,b,c>>> tup.count(a)3
标签: #python中元组