20201008 041.元组

    科技2026-02-25  6

    元组的元素访问和计数

     

    1. 元组的元素不能修改

    >>> a = (20, 10, 30, 9, 8)

    >>> a

    (20, 10, 30, 9, 8)

    >>> a[3] = 330

    Traceback (most recent call last):

      File "<pyshell#249>", line 1, in <module>

        a[3] = 330

    TypeError: 'tuple' object does not support item assignment

     

    2. 元组的元素访问和列表一样,只不过返回的仍然是元组对象。

    >>> a = (20,10,30,9,8)

    >>> a[1]

    10

    >>> a[1:3]

    (10, 30)

    >>> a[:4]

    (20, 10, 30, 9)

     

    3. 列表关于排序的方法list.sorted()是修改原列表对象,元组没有该方法。如果要对元组排序,只能使用内置函数sorted(tupleObj),并生成新的列表对象。

    >>> a = (20,10,30,9,8)

    >>> sorted(a)

    [8, 9, 10, 20, 30]

     

    4. 元组的其他的方法,例如len()、a.count()、sum()、max()、min()的用法与列表类似。

     

    zip

    zip(列表 1,列表 2,...)将多个列表对应位置的元素组合成为元组,并返回这个 zip 对象。

    >>> a = [10,20,30]

    >>> b = [40,50,60]

    >>> c = [70,80,90]

    >>> d = zip(a,b,c)

    >>> list(d)

    [(10, 40, 70), (20, 50, 80), (30, 60, 90)]

    >>> tuple(d) #注意,zip产生的对象也是一个迭代器,使用过程中指针位置按顺序指向要操作的对象,使用后就指针就执行完毕,失效了,也是1次性使用。如果要用就得重新生成zip迭代器。

    ()

    >>> d = zip(a, b, c)

    >>> tuple(d)

    ((10, 40, 70), (20, 50, 80), (30, 60, 90))

    Processed: 0.013, SQL: 9