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
浙公网安备 33010602011771号