一. 課上代碼
>>> tuple1 = (1, 2, 3, 4, 5, 6, 7, 8)
>>> tuple1
(1, 2, 3, 4, 5, 6, 7, 8)
>>> tuple1[1]
2
>>> tuple1[5:]
(6, 7, 8)
>>> tuple1[:5]
(1, 2, 3, 4, 5)
>>> tuple2 = tuple1[:]
>>> tuple2
(1, 2, 3, 4, 5, 6, 7, 8)
>>> tuple[1] = 3
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
tuple[1] = 3
TypeError: 'type' object does not support item assignment
#此處體現(xiàn)了元組的不可修改性
>>> temp = (1)
>>> temp
1
>>> type(temp)
<class 'int'>
>>> temp2 = 2, 3, 4
>>> type(temp2)
<class 'tuple'>
>>> temp = ()
>>> type(temp)
<class 'tuple'>
>>> temp = (1, )
>>> type(temp)
<class 'tuple'>
>>> temp = 1,
>>> type(temp)
<class 'tuple'>
#怎樣創(chuàng)建元組挨约,必須要有逗號
>>> 8 * (8)
64
>>> 8 * (8,)
(8, 8, 8, 8, 8, 8, 8, 8)
#此處的區(qū)別多加注意噩斟,有逗號才能創(chuàng)建元組
>>> temp = ('Jack', 'David', 'Hsin', 'Chi')
>>> temp = temp[:2] + ('Rose',) + temp[2:]
>>> temp
('Jack', 'David', 'Rose', 'Hsin', 'Chi')
#要想修改元組巴元,可以用切片的方法進(jìn)行添加元素
>>> del temp
>>> temp
Traceback (most recent call last):
File "<pyshell#25>", line 1, in <module>
temp
NameError: name 'temp' is not defined
>>>
二. 測試題
- 創(chuàng)建一個元組,什么情況下逗號和小括號必須同時存在陋率,缺一不可球化?
#在拼接只有一個元素的元組的時候
>>> temp = ('Jack', 'David', 'Hsin', 'Chi')
>>> temp = temp[:2] + ('Rose',) + temp[2:]
>>> temp
('Jack', 'David', 'Rose', 'Hsin', 'Chi')
- x, y, z = 1, 2, 3請問x, y, z是元組嗎?
>>> x, y, z = 1, 2, 3
>>> type(x)
<class 'int'>
>>> type(y)
<class 'int'>
>>> type(z)
<class 'int'>
#很明顯不是
>>> h = x, y, z
>>> type(h)
<class 'tuple'>
#而這個就是了
- 請寫出一下情景中應(yīng)該使用列表還是元組來保存數(shù)據(jù):
(1) 游戲中角色的屬性:列表
(2) 你的身份信息:元組
(3) 論壇的會員:列表
(4) 團(tuán)隊(duì)合作開發(fā)程序瓦糟,傳遞給一個你并不了解具體實(shí)現(xiàn)的函數(shù)的參數(shù):元組
(5) 航天火箭各個組件的具體配置參數(shù):元組
(6) NASA系統(tǒng)中記錄已經(jīng)發(fā)現(xiàn)的行星數(shù)據(jù):列表