學習筆記-小甲魚Python3學習第十三講:元組:戴上了枷鎖的列表
創建和訪問元組
更新和刪除元組
元組的相關操作符
元組創建:
>>> tuple1 = (1,2,3,4,5,6,7,8) #使用()括起來,用,逗號隔開
>>> tuple1
(1, 2, 3, 4, 5, 6, 7, 8)
>>> tuple2 = '張三','李四','王五' #或者直接使用,逗號隔開
>>> tuple2
('張三', '李四', '王五')
>>> type(tuple1) #查看變量類型
<class 'tuple'>
>>> type(tuple2)
<class 'tuple'>
元組同數組一樣,也可以進行分片
>>> tuple1[2:5]
(3, 4, 5)
向元組中插入新元素
>>> tuple2 = tuple2[:1] + ('趙六',) + tuple2[1:] #中間的()和,都是必須的
>>> tuple2
('張三', '趙六', '李四', '王五')
這裏不是修改原來的元組,而是新建了一個元組賦值給tuple2,原來的('張三','李四','王五')這個元組依然在存儲區域內,只是沒有變量引用它,一段時間以後原來的元組存儲區域就會被python回收
元組跟數組不同,不能使用pop(),remove()方法刪除其中的元素,不過可以使用del刪除整個元組(用法少,一般不會明顯刪除整個元組)
>>> tuple2.remove('張三')
Traceback (most recent call last):
File "<pyshell#17>", line 1, in <module>
tuple2.remove('張三')
AttributeError: 'tuple' object has no attribute 'remove'
>>> tuple2.pop()
Traceback (most recent call last):
File "<pyshell#18>", line 1, in <module>
tuple2.pop()
AttributeError: 'tuple' object has no attribute 'pop'
>>> del tuple2
>>> tuple2
Traceback (most recent call last):
File "<pyshell#20>", line 1, in <module>
tuple2
NameError: name 'tuple2' is not defined
--------------------------分隔符,哈哈哈-----------------------
二、課後作業:
0.請用一句話描述什麽是列表?再用一句話描述什麽是元組?
列表:可以存放各種類型的數據,可以隨時增、刪、改裏面的元素,所有元素使用[]括起來,以,隔開
元組:類似一個封閉的列表,一旦定義就不能改變(不能增、刪、改),所有元素使用()括起來,以,隔開
1.什麽情況下你需要使用元組而不是列表?
當內容不被輕易修改的時候使用元組;
當需要頻繁修改數據的時候使用列表。
2.當元組和列表掉下水,你會救誰?
我會用del把它們全刪了,哈哈哈。。。開玩笑的。當然選擇列表了,列表提供靈活的編程方法,元組一經創建不能修改,缺乏靈活性
3.請將下圖左邊列表的內置方法與右邊的註釋連線,並圈出元組可以使用的方法。
4.創建一個元組,什麽情況下逗號和小括號必須同時存在,缺一不可?
進行元組拼接,切拼接的元素只有一個的時候
5.x, y, z = 1, 2, 3 請問x, y, z是元組嗎?
肯定不是,這是賦值操作,是對x,y,z分別賦值
所有的多對象的、逗號分隔的、沒有明確用符號定義的這些集合默認的類型都是元組。
6.請寫出以下情景中應該使用列表還是元組來保存數據:
1) 遊戲中角色的屬性:列表
2) 你的×××信息:元組
3) 論壇的會員:列表
4) 團隊合作開發程序,傳遞給一個你並不了解具體實現的函數的參數:元組
5) 航天火箭各個組件的具體配置參數:元組
6) NASA系統中記錄已經發現的行星數據:列表
學習筆記-小甲魚Python3學習第十三講:元組:戴上了枷鎖的列表