iT邦幫忙

2021 iThome 鐵人賽

DAY 7
1
Software Development

宇宙 69 大魔王的 python 世界系列 第 7

【Day 07】tuple 介紹!

前言

今天要來繼續接著介紹 tuple 的使用方法,包含了 Unpack(拆包),還有取出 tuple 內值的方法,

tuple

  • Unpack 拆包:一次把資料同時指派給多個變數,這個過程稱為 Unpacking 拆包。

    • tuple 一次給多個變數值
    color = ('Blue', 'Red', 'Yellow')
    a, b, c = color
    print(a)
    print(b)
    print(c)
    

  • Unpack 還可以使用 * 來搭配使用
    如果變數的數量小於 tuple 的數量,有 * 的變數會把其他的的蒐集起來。

    color = ('Blue', 'Red', 'Yellow', 'Orange', 'Green', 'Brown')
    (a, b, *c) = color    # c 把剩下的元素都帶走
    print(a)
    print(b)
    print(c)
    

    如果是 * 中間的元素,會把前後的先分配好,剩餘的資料都給有 * 的變數

    color = ('Blue', 'Red', 'Yellow', 'Orange', 'Green', 'Brown')
    (a, *b, c) = color    # b 把剩下的元素都帶走
    print(a)
    print(b)
    print(c)
    

  • tuple 裡面的元素也可以是另一個 tuple

    color = ('Blue', 'Red', 'Yellow')
    color1 = (color, 'Orange', 'Green')    # 雙層 tuple
    print(color1)
    

  • 索引值(index)取出 tuple 的值。

    • 依照索引值取值,跟 string 的概念一樣,一樣可以用負數
    • 如果有兩層 tuple ,可以用 tuple[][] 來找出
    color = ('Blue', 'Red', 'Yellow')
    color1 = (color, 'Orange', 'Green')
    print(color1[1])     # 取出 color1 的第 1 個元素(起始為 0)
    print(color1[-2])    # 取出 color1 的第 -2 個元素(起始為 -1)
    print(color1[0])     # 取出 color1 的第 0 個元素,就是 color
    print(color1[0][1])  # 取出 color1 的第 0 個元素 color 的第 1 個元素
    

  • Range of indexes:取出一組 tuple 的範圍。

    color = ('Blue', 'Red', 'Yellow', 'Orange', 'Green', 'Brown')
    print(color[2:4])    # 取出 tuple[2] 到 tuple[3] 的元素
    print(color[1:])     # 取出 tuple[1] 到最後一個元素
    print(color[:4])     # 取出 tuple[0] 到第 3 個元素
    print(color[-5:-2])  # 取出 tuple[-5] 到 tuple[-3] 的元素,相當於 tuple[1:4]
    

  • 使用 tuple 交換兩數。

    a = 6
    b = 9
    print('before a =', a, 'b =', b)
    a, b = b, a    #等同於 (a, b) = (b, a)
    print('after a =', a, 'b =', b)
    

待續...


上一篇
【Day 06】Python 資料容器簡介與建立 tuple
下一篇
【Day 08】List 介紹!
系列文
宇宙 69 大魔王的 python 世界30

尚未有邦友留言

立即登入留言