Python(2.7)-元组(tuple)

2.3元组(tuple)

         元组与列表类似,同属于序列,不同之处在于元组的元素无法修改,元组使用小括号。注意:任意无符号的对象,以逗号隔开,默认为元组。

2.3.1创建元组

         创建空元组:tul=();

         创建单元素元组:tul=(50,);  注意:需要在元素后边添加逗号

 

2.3.2访问元组

       tup(index):访问对应索引位置的元素

>>> tup

(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

>>> tup[3]

3

       for in in tup:

              print i        遍历迭代,顺序访问元组中每一个元素

2.3.3元组删除(del tup)

       元组中的元素不允许删除,但是可以用del删除整个元组

>>> tup=(1,2)

>>> del tup

>>> tup

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

NameError: name 'tup' is not defined

>>> 

2.3.4元组运算(“+”;”*”)

       元组中的元素是不允许修改的,但是与列表一样,元组可以使用”+””*”进行运算

       tup1+tup2:tup1tup2中的元素组合到一起生成一个新的元组

>>> tup1=(1,2,3)

>>> tup2=(4,5,6)

>>> tup1+tup2

(1, 2, 3, 4, 5, 6)

>>> tup1

(1, 2, 3)

>>> tup2

(4, 5, 6)

>>> 

 

tup1*(num):tup1中的元素复制num次存入新元组中

>>> tup=(1,2)

>>> tup1=tup*3

>>> tup1

(1, 2, 1, 2, 1, 2)

>>> tup

(1, 2)

2.3.5元组切片

sequence[a:b:c]:可以对字符串、元组、列表等序列进行切片操作,其中a,b,c为三个非必填的参数,a表示操作的起始索引位置,b表示操作的终止索引位置,c代表步长;c的默认值为1

a=(0,1,2,3,4,5,6,7,8,9)

a[0]è0

a[0:3]è(0,1,2)

a[3:]è(3,4,5,6,7,8,9)

a[:3]è(0,1,2)

a[0:10:2]è(0,2,4,6,8)

a[::-1]è(9,8,7,6,5,4,3,2,1,0)

a[-1:]è(9,)

a[:-1]è(0,1,2,3,4,5,6,7,8)      #从第一个元素开始取值,取到倒数第一个元素,等价于a[0:-1]

a[-2:-8:-2] è(8, 6, 4)    #从倒数第二个数8开始取值,取到倒数第八个数2,步长为-2(倒着每隔两个元素取一个)

a[-2:-8:2] è()

2.3.5元组内置函数

       cmp(tuple1,tuple2):比较两个元组元素,从第一个元素(ascii)开始比较,如果第一个元素相同,则比较第二个元素,以此类推,如果tuple1大,则返回1;如果tuple2大,则返回-1;如果两个元组相同则返回0

>>> cmp((1,2,3),(3,2))

-1

>>> cmp(("a","1"),("4",6,7))

1

>>> cmp((1,2,3),(1,2,3))

0

>>> 

     

      max(tuple)min(tuple):返回元组中的最大元素和最小元素

>>> a

(1, 2, 2, 3, 2, 3, 4, 5)

>>> max(a)

5

>>> min(a)

1

>>> 

       len(tuple):计算元组中元素个数

>>> a

(1, 2, 2, 3, 2, 3, 4, 5)

>>> len(a)

8

>>> 

       tuple.count(element):返回tuple中指定元素出现的次数

>>> a

(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

>>> a.count(2)

1

>>> 

tuple.index(element):返回指定元素在元组中第一次出现时的索引位置,如果元素不存在会报错:ValueError: tuple.index(x): x not in tuple

>>> a=(1,2,2,3,2,3,4,5)

>>> a.index(2)

1

>>> a.index(9)

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

ValueError: tuple.index(x): x not in tuple

>>> 

原文地址:https://www.cnblogs.com/pw20180101/p/8286973.html