tuple和list很像,用()表示,其中元素不可修改,具有很好的安全性。

 (一)创建元组

  元组可直接创建

tup = ('fe',4234,'43')
print(tup)  #output: ('fe', 4234, '43')

  创建元组时,若只有一个数值需要用‘,’间隔;否则会误认为小括号,直接表示为数值。

tup = (2)
print(tup) #output: 2   表示的是一个数
tup = (2,)
print(tup) #output: (2,)    表示是一个元组

  用‘,’间隔的一序列,默认为一个元组。

tup = 'fe',4234,'43'
print(tup)  #output: ('fe', 4234, '43')

  tuple可以将一个list转换成元组

li = ['wo','shi','yuan','zu']
tup = tuple(li)
print(tup)  #('wo', 'shi', 'yuan', 'zu')

  (二)访问元组

  元组可以进行索引和切片,并可以对其切片进行+、*操作

tup = 'wo','shi','yuan','zu'
print(tup)  #('wo', 'shi', 'yuan', 'zu')
print(tup[2:])  #('yuan', 'zu')
print(tup[0:2]*2)   #('wo', 'shi', 'wo', 'shi')
tup1 ='ha','ha'
print(tup+tup1) #('wo', 'shi', 'yuan', 'zu', 'ha', 'ha')

  (三)修改元组

  元组内元素,当是str或者int时,是不可以修改的;当是list或dic的时候,可以修改list或者dict内部的值,但是不能修改元组对list或者dict的指向

tup =['old',12], 'wo','shi','yuan','zu'
print(tup)  #(['old', 12], 'wo', 'shi', 'yuan', 'zu')
tup[0][0]='new'
print(tup)  #(['new', 12], 'wo', 'shi', 'yuan', 'zu')

  元组内的元素不能删除,只能用del删除整个元组

tup ='wo','shi','yuan','zu'
print(tup)  #('wo', 'shi', 'yuan', 'zu')
del tup
print(tup)  #NameError: name 'tup' is not defined

  元组不含有append、insert这样的方法

  (四)tuple.count(value)   求元组内value值的个数

 

tup = ('wo','shi','yuan','zu','zu')
print(tup)  #('wo', 'shi', 'yuan', 'zu')
print(tup.count('zu'))  #2

  (五)tuple.index(value,start,stop)   求值value的索引,值不存在时报错

tup = ('wo','shi','yuan','zu','zu')
print(tup)  #('wo', 'shi', 'yuan', 'zu')
print(tup.index('zu'))  #3
print(tup.index('zu',0,6))  #3

  (六)len(tuple)   求tuple的长度

tup = ('wo','shi','yuan','zu','zu')
print(tup)  #('wo', 'shi', 'yuan', 'zu')
print(len(tup)) #5