python之tuple操作

       Python的元组与列表类似,不同之处在于元组的元素不能修改,元组使用小括号,列表使用方括号,元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

lst=['physics','chemistry',1997,2000]
tup=(1,2,3,4,5,6,"hhaha","lalla")

元组与list之间的性质很多相似,如索引/切片等,

》索引切片操作

  tuple和list的操作一样,可以通过下标进行索引,[-1]表示最后一个元素。[1:3]表示下标从1到2,但不包括3.

》元组或list之间可以使用+和*,即允许进行组合连接和重复复制,运算后会生成一个新的元组或列表

tup=(1,2,3)
lst=(3,4,5)
 
lst=lst+lst #输出:lst=[3,4,5,3,4,5]
tup=tup*3 #输出: tup=(1,2,3,1,2,3,1,2,3)

但相对而言,tuple也具有一些自己特有的性质,具体如下,

》元组中的元素值使不允许修改的,但可以对元组进行连接组合

tup1=(12,34.56)
tup2=('abc','xyz')
 
tup1[0]=100 #非法操作,元组中的元素是不允许被修改的
 
tup3=tup1+tup2 #python运行元组进行连接组合
print(tup3)# 输出:(12,34.56,'abc','xyz')

有时会碰到这种情况,

tmp=(2,3,["x","y"])
tmp[2][0]="a"  

这种形似修改了tuple的值,其实只是改变了tmp[2]指向内存块里的内容,并没有改变tmp[2]的指向,详情可参考https://www.jb51.net/article/47986.htm

同时在元组中的元素是不允许删除的,但可以使用del语句来删除整个元组,如

tmp=(2,3,4)
del tmp

》元组的方法(元组没有列表中的增、删、改的操作,只有查的操作,以及元组间的一些操作)

——tuple.index(obj):从元组中找出某个值第一个匹配项的索引值

——tuple.count(obj): 统计某个元素在元组中出现的次数

——cmp(tup1,tup2): 比较两个元组元素

——len(tup): 返回元组中元素的个数

——max(tup): 返回元组中元素最大的值

——min(tup): 返回元组中元素最小的值

——tuple(seq): 将列表转化为元组

 

补:

  • 任意无符号的对象,以逗号隔开,默认为元组
a=1,2,3,'hello'
print(a) #输出:(1,2,3,'hello')
  • 元组中只包含一个元素时,需要在元素后面添加逗号来消除歧义
tmp=(3,)

因为括号()既可以表示tuple,又可以表示数学公式中的小括号,添加逗号是为了和(3)区分开来。

参考链接:

https://www.jb51.net/article/47986.htm(Python 元组(Tuple)操作详解)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章