Python程序设计案例课堂
上QQ阅读APP看书,第一时间看更新

3.2 元组的基本操作

与列表相比,元组对象不能修改,同时元组使用小括号(而列表使用方括号)。元组创建很简单,只需要在括号中添加元素并使用逗号隔开即可。

3.2.1 元组对象的特性

如果创建的元组对象只有一个元素,就必须在元素之后加上逗号(,),否则Python会认为此元素是要设置给变量的值:

        >>>t = (1)
        >>>t
        1
        >>>t = (1, )
        >>>t
        (1, )

用户不可以修改元组对象内的元素值,否则会提示错误。例如:

        >>>tup1 = (1, 2.3)
        #以下修改元组元素操作是非法的。
        >>> tup1[0] = 5
        Traceback (most recent call last):
          File "<pyshell#88>", line 1, in <module>
            tup1[0] = 5
        TypeError: 'tuple' object does not support item assignment

从上述代码中可以看出,当用户修改元组对象内的元素值时,会提示一个TypeError类型的错误提示。

可以使用下列方法来更新元组对象内的元素值:

        >>>t = (1,2,3)
        >>>t = t[0], t[2]
        >>> t
        (1, 3)

元组对象支持使用索引值的方式来返回元素值:

        >>> t = (1,2,3)
        >>> t[0]
        1
        >>> t[1]
        2
        >>> t[2]
        3

元组对象虽然不能修改,但是可以组合。例如:

        >>>tup1 = (1,2)
        >>>tup2 = (’号码’, ’位置’)
        # 组合成一个新的元组
        >>>tup3 = tup1 + tup2
        >>>print (tup3)
        (1, 2, ’号码’, ’位置’)

元组中的元素值是不允许删除的,但可以使用del语句来删除整个元组。例如:

        >>>tup = (1,2,3,4)
        >>>print (tup)
        (1, 2, 3, 4)
        >>>del tup
        >>>print (tup)
        Traceback (most recent call last):
          File "<pyshell#97>", line 1, in <module>
            tup
        NameError: name 'tup' is not defined

从结果可知,元组已经被删除,再次访问该元组时会提示错误信息。

3.2.2 元组的内置函数

元组的内置函数包括len()、max()、min()、tuple()等。

(1)len()函数返回元组的长度。例如:

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

(2)max()函数返回元组元素中的最大值。例如:

        >>> tup1=(1, 2, 3, 4)
        >>> print (max(tup 1))
        4
        >>> tup 2=('a', 'c', 'd', 'p')
        >>> print (max(tup 2))
        p

注意

元组中的元素数据类型必须一致,才能使用max()函数,否则会出错。

(3)min()函数返回元组元素中的最小值。例如:

        >>> tup1=(1, 2, 3, 4)
        >>> print (min(tup1))
        1
        >>>tup2=('a', 'c', 'd', 'p')
        >>> print (min(tup2))
        a

(4)tuple()函数用于将列表转换为元组。例如:

        >>>books =[59, ’清华大学出版社’, 'Python', ’教材’]
        >>>tup1 = tuple(books)
        >>>print ("图书信息为: ", tup1)
        图书信息为: (59, ’清华大学出版社’, 'Python', ’教材’)

(5)sum()函数返回元组中所有元素的和。例如:

        >>> tup1=(1, 2, 3, 4)
        >>> print (sum(tup1))
        10