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

Python-数据类型-元祖

时间:2023-03-25 23:49:44 Python

数据类型-元祖是python中的不可变数据类型之一。元组由一对()包裹,括号元素由逗号分隔。元素可以是不同的数据类型,空元组可以直接使用一对()符号来定义。如果祖先只有一个元素,则必须在元素后加一个逗号,如('a',)。1.特点元组是不可变的数据类型元素是有序序列元组还支持索引和切片比列表占用更少的空间Example#multipledatatuplest1=(10,20,30)#singledatatuplet2=(10,)#emptytuplet3=()#specialdefinitiont4=1,2,3,4print(type(t4))#如果定义的tuple只有一个数据,那么这个数据后面也要加一个逗号,否则直接将其用作()运算符t2=(10,)print(type(t2))#tuplet3=(20)print(type(t3))#intt4=('hello')print(type(t4))#str元组通过下标查找数据的常用操作tuple1=('aa','bb','cc','bb')print(tuple1[0])#aaindex():查找a,如果数据存在,则返回相应的下标,否则会报错。语法与列表和字符串的索引方法相同。tuple1=('aa','bb','cc','bb')print(tuple1.index('aa'))#0count():统计当前元组中某个数据出现的次数tuple1=('aa','bb','cc','bb')print(tuple1.count('bb'))#2len():统计元组中的数据个数。tuple1=('aa','bb','cc','bb')print(len(tuple1))#如果直接修改4元组中的数据,会立即报错tuple1=('aa','bb','cc','bb')tuple1[0]='aaa'TypeError:'tuple'objectdoesnotsupportitemassignment如果元组中有列表,则支持修改列表中的数据,所以自我意识很重要tuple2=(10,20,['aa','bb','cc'],50,30)print(tuple2[2])#Result:['aa','bb','cc']tuple2[2][0]='aaaaa'print(tuple2)#结果:(10,20,['aaaaa','bb','cc'],50,30)3.namedtuple()namedtuple是python内置模块collections提供的一个工厂函数,用于创建namedtuple子类,可以使用名称访问集合中元素的数据对象importnamedtupleBookTuple=namedtuple("Book",['name','price','author'])book=BookTuple('红楼梦',23,'曹雪芹')print(book.name,book.price,book.author)#结果:红楼梦23曹雪芹books=[('一百孤独的岁月',30,'GarciaMarquez'),('树上的男爵',35,'ItaloCalvino'),('NapolitanTetralogy',76,'ElenaFerrante')]BookTuple=namedtuple("Book",['name','price','author'])forbookinbooks:book=BookTuple._make(book)print(book.name,book.price,book.author)"""一百年孤独30GarciaMarr凯克斯树上的男爵35ItaloCalvino的那不勒斯四部曲76ElenaFerrante"""