官术网_书友最值得收藏!

4.4 元組類型

微視頻

與列表相比,元組對象不能修改,同時元組使用小括號、列表使用中括號。元組創建很簡單,只需要在括號中添加元素并使用逗號隔開即可。

4.4.1 認識元組

元組(Tuple)對象屬于序數對象,是一群有序對象的集合,并且可以使用數字來作索引。元組對象與列表對象類似,差別在于元組對象不可以新增、修改與刪除。

要創建一個元組對象,可以使用小括號來包含其元素。其語法如下:

    variable = (element1, element2,  ...)

下面創建一個元組對象,含有4個元素:1、2、3和4。

    >>>a=(1,2,3,4)
    >>>a           #查看元組的元素
    (1, 2, 3, 4)

列表對象a共有4個元素,可以使用a[0]來返回第1個元素、s[1]來返回第2個元素,以此類推。如果索引值超出范圍,Python就會拋出一個IndexError異常。

大牛提醒

列表賦值時可以省略小括號(),直接將元素列出。例如:

    c = 1,2,3,4  #省略小括號

【例4.3】使用for循環列出班級中的學生(源代碼\ch04\4.3.py)。

這里首先定義一個包含6個元素的元組,內容為班級中學生的名字,然后使用for循環將每個元組的值輸出,并且在后面加上“同學”二字。

    sname=("張明","張敏","李明","劉輝","王磊","趙東")        #定義元組
    print ("下面輸出班級中的所有學生\n")
    for name in sname:                                       #遍歷元組
       print (name+"同學",end=" ")

程序運行結果如圖4-3所示。

圖4-3 例4.3的程序運行結果

4.4.2 元組的常用操作

下面講解元組的常用操作方法。

1.創建只有一個元素的元組

如果創建的元組對象只有一個元素,就必須在元素之后加上逗號,否則Python會認為此元素是要設置給變量的值。

    >>>x = ("二十年來萬事同",)  #創建只有一個元素的元組
    >>>x
    ('二十年來萬事同',)
    >>>y = ("二十年來萬事同")   #為變量y 賦值,輸出結果不再是元組
    >>>y
    '二十年來萬事同'
2.元組的對象值不能修改

在元組中,不可以修改元組對象內的元素值,否則會提示錯誤。例如:

    >>>x = (1,2,3,4)
    #以下修改元組元素操作是非法的
    >>>x[1] = 5
    >>> x[1] = 5
    Traceback (most recent call last):
      File "<pyshell#1>", line 1, in <module>
        x[1] = 5
    TypeError: 'tuple' object does not support item assignment
3.刪除元組內的對象

雖然元組內的元素值不能修改和直接刪除,但是可以通過重新賦值的方式,間接達到刪除元組對象的效果。注意,這里不是真正意義上刪除元素,因為元組對象是不可變的。

例如,在下面的例子中刪除元組中的a[3]:

    >>>a = ("二十年來萬事同",100,200,300)
    >>>a = a[0],a[1],a[2]
    >>>a
    ('二十年來萬事同', 100, 200)
4.刪除整個元組

使用del語句可以刪除整個元組。例如:

    >>>a = (1,2,3,4)                     #定義新元組a
    >>>a                                 #輸出元組a
    >>>del a                             #刪除元組a
    >>>a                                 #再次輸出元組a 時將報錯
    Traceback (most recent call last):
      File "<pyshell#3>", line 1, in <module>
        a
    NameError: name 'a' is not defined

從報錯信息可以看出,元組已經被刪除,再次訪問該元組時會提示錯誤信息。

4.4.3 元組的內置函數

元組的內置函數包括len()、max()、min()和sum()。下面分別講述這4個內置函數的使用方法。

1.len()函數

len()函數返回元組的長度。例如:

    >>>a = (1,2,3,4,5,6)
    >>>len(a)
    6
2.max()函數

max()函數返回元組或列表元素中的最大值。例如:

    >>>a=(1,2,3,4,5,6)
    >>>max(a)
    6
    >>>b=['a', 'c', 'd', 'e', 'f', 'g']
    >>>max(b)
    'g'

元組中的元素數據類型必須一致才能使用max()函數,否則會出錯。

3.min()函數

min()函數返回元組或列表元素中的最小值。例如:

    >>>a=(1,2,3,4,5,6)
    >>>min(a)
    1
    >>>b=['a', 'c', 'd', 'e', 'f']
    >>>min(b)
    'a'

元組中的元素數據類型必須一致才能使用min()函數,否則會出錯。

4.sum()函數

sum()函數返回元組中所有元素的和。例如:

    >>>a=(1,2,3,4,5,6,7,8)
    >>>sum(a)
    36
主站蜘蛛池模板: 武宁县| 迁安市| 剑河县| 平山县| 大兴区| 玉树县| 历史| 黄龙县| 扶沟县| 马公市| 伊川县| 白城市| 贵州省| 通山县| 青龙| 含山县| 湾仔区| 凤山县| 华池县| 车致| 连平县| 南投县| 射阳县| 麻江县| 正安县| 会东县| 牡丹江市| 揭东县| 吴桥县| 宜春市| 汝阳县| 濉溪县| 温州市| 黄山市| 张家界市| 兴文县| 台江县| 南宁市| 保靖县| 项城市| 静安区|