Python 串列與tuple
Tuple
- Tuple與串列很像,都是一系列的任意項目,但與串列不同的事,tuple是不可變的,也就是說定義tuple後,就無法添加、刪除,或更改他的項目了,因此tuple很像常數串列
用 ()
建立Tuple
- 先用
()
製作一個空的tuple:
1 | empty_tuple = () |
- 讓tuple有一或多個元素,在每個元素後面加上一個逗號
1 | 'Groucho', one_marx = |
- 若有多個元素,請依序列舉,除了最後一個元素之外,都要加上一個逗號
1 | 'Groucho', 'Chico', 'Harpo' marx_table = |
- Python 在印出tuple時,會加上括號
- 真正定義tuple的是元素後的逗號,但使用括號不會有任何不良的影響,用括號把值包起來,讓tuple看起來更清楚
1 | 'Groucho', 'Chico', 'Harpo') marx_tuple = ( |
- tuple 可以被一次指派給多個變數
- 有時這稱為tuple開箱(unpacking)
1 | 'Groucho', 'Chico', 'Harpo') marx_tuple = ( |
- 可以在一個陳述式中,使用tuple來交換值,不需要用到暫時性的變數
1 | 'swordfish' password = |
tuple()
轉換函式可將其他的東西做成tuple
1 | 'Groucho', 'Chico', 'Harpo'] marx_list = [ |
Tuple vs 串列
- Tuple通常可以用來取代串列,但他們的功能比較少,沒有
append()
、insert()
,為什麼不使用串列來取代所有的tuple就好?
- tuples佔用的空間較少
- 不會不小心破壞tuple的項目
- 可以將tuple當成字典鍵
- 可以將**具名tuple(Named tuple)**當成物件的簡化替代品
- 函式引數是以tuple的形式傳入的