Tuple V.S. 串列

在日常的程式設計中,較常用的是串列字典

Tuple 與串列:相同

Tuple 與串列很像,都是一系列的任意項目

Tuple 與串列:不同

  • Tuple 是不可變的
  • 定義 Tuple 之後,就無法添加、刪除、更改項目 → 很像常數串列
  • Tuple 通常可以用來取代串列,但功能較少,沒有 append()、insert()等等【因為建立後,不能再修改

串列不能取代 Tuple 原因

  1. Tuple 佔用的空間較少
  2. 不會不小心破壞 tuple 的項目
  3. 可將 tuple 當成字典鍵(在本書p58 字典
  4. 可將具名tuple(Named tuple)當成物件的簡化替代品(在本書第六章 p152頁 "具名 Tuple"
  5. 函式引數是以 tuple 的型式傳入(在本書第四章p92 "函式"

建立 Tuple【使用 ()】

  • Python 在印出 tuple 時,會加上括號()
  • 不一定要使用括號(),真正定義 tuple 的是元素後的逗號 , ,但使用括號不會有不良引響
  • 可以用括號把值包起來,可以讓 tuple 看起來更清楚

空Tuple

  1. tuple名稱 = ()
  2. tuple名稱
  3. ()
>>> empty_tuple = ()
>>> empty_tuple
()

一個元素(每個元素後面加上一個逗號)

要讓 tuple 有一或多個元素,請在每個元素後面加上一個逗號

  1. tuple名稱 = '元素1',
  2. tuple名稱
  3. ('元素1',)
>>> one_marx = 'Groucho',
>>> one_marx
('Groucho',)

多個元素(每個元素後面加上一個逗號,除了最後一個)

如果有多個元素,請依序列舉除了最後一個元素之外,都要加上一個逗號

  1. tuple名稱 = '元素1', '元素2', '元素3' 或是</ br> tuple名稱 = ('元素1', '元素2', '元素3')
  2. tuple名稱
  3. ('元素1', '元素2', '元素3')
>>> marx_tuple = 'Groucho', 'Chico', 'Harpo'
>>> marx_tuple
('Groucho', 'Chico', 'Harpo')
>>> marx_tuple = ('Groucho', 'Chico', 'Harpo')
>>> marx_tuple
('Groucho', 'Chico', 'Harpo')

Tuple 開箱 = tuple packing(一次指派多個變數)

  1. tuple名稱 = ('元素1', '元素2', '元素3')
  2. 變數1, 變數2, 變數3 = tuple名稱
  3. 變數1
  4. '元素1'
  5. 變數2
  6. '元素2'
  7. 變數3
  8. '元素3'
>>> marx_tuple = ('Groucho', 'Chico', 'Harpo')
>>> a, b, c = marx_tuple
>>> a
'Groucho'
>>> b
'Chico'
>>> c
'Harpo'

Tuple 交換值

可以在一個陳述式中,使用 Tuple 來交換值,不需要使用暫時性的變數

  1. 變數1 = '元素1'
  2. 變數2 = '元素2'
  3. 變數1, 變數2 = 變數2, 變數1
  4. 變數1
  5. 元素2
  6. 變數2
  7. 元素1
>>> password = 'swordfish'
>>> icecream = 'tuttifrutti'
>>> password, icecream = icecream, password
>>> password
'tuttifrutti'
>>> icecream
'swordfish'

tuple() 轉換函式【串列 → tuple()】

  1. 串列名稱 = ['字串1', '字串2', '字串3']
  2. tuple(串列名稱)
  3. ('字串1', '字串2', '字串3')
>>> marx_list = ['Groucho', 'Chico', 'Harpo']
>>> tuple(marx_list)
('Groucho', 'Chico', 'Harpo')

results matching ""

    No results matching ""