1. 程式人生 > 實用技巧 >列表-元組(tuple)

列表-元組(tuple)

1.建立和訪問元組

>>> temp = (1,2,3,4,5,6)
>>> temp[1]
2
>>> temp[5:]
(6,)
>>> temp[2:]
(3, 4, 5, 6)
>>> temp2 = temp[1:]
>>> temp2
(2, 3, 4, 5, 6)

  元組的訪問同列表一樣

2.元組不能被修改

>>>temp[1] = 9
Traceback (most recent call last):
  File "<pyshell#9>", line 1, in <module>
    temp[1] = 9
TypeError: 'tuple' object does not support item assignment

  

3.使用小括號建立的變數一定是元組嗎?答案不是!

>>> temp3 = (1)
>>> type(temp3)
<class 'int'>

4.那怎樣建立才是元組呢?

>>> temp4 = (1,)
>>> type(temp4)
<class 'tuple'>
>>> 

 使用分隔符的前提下,不適用括號也能建立元組。

>>> temp3 = 1,
>>> type(temp3)
<class 'tuple'>

 可知建立元組必須使用逗號分隔,即使建立只有一個元素的元組也需要使用 ','分割,tuple在Python中指元組。

5.常出的筆試題

>>> 8 * (8)
64
>>> 8 * (8,)
(8, 8, 8, 8, 8, 8, 8, 8)

6.更新和刪除一個元組,剛才講過元組不能被修改,但是為什麼又要講更新和刪除呢?雖然不能使用索引的方式修改元組,但是Python允許使用切片的方式對元組進行更新刪除操作。

>>> temp = ('張三', '李四', '王二')
>>> temp = temp[:2] + ['麻子',] + tepm[:2]
Traceback (most recent call last):
  File "<pyshell#19>", line 1, in <module>
    temp = temp[:2] + ['麻子',] + tepm[:2]
TypeError: can only concatenate tuple (not "list") to tuple
>>> temp = temp[:2] + ('麻子',) + temp[:2]
>>> temp
('張三', '李四', '麻子', '張三', '李四')
>>>

  雖然元組可以按照列表的方式訪問陣列,但是在進行運算的時候,各變數型別必須一致。

7.元組相關操作符

  拼接操作符:+

  參與運算的資料型別必須一致

  重複操作符: *

  等等。