一、字符串
其中的index()和find()比較類似,都是返回指定字符的下標;只是index()找不到字符時會報錯,而find()找不到時返回-1
注意:因為字符串是不可變類型,所以代碼里的字符串s雖然執行了那么多方法,但s還是本身的字符串,也就是說如果想達到“改變字符串”的目的,必須在字符串執行方法后賦給一個新的變量,例如使字符串s倒序,s1 = s[::-1],那么s1就是倒序后的字符串,s還是原來的,並不會變
二、列表
注意:remove()和pop()都可以刪除指定元素,remove()的參數是列表里存在的元素,並且沒有返回;而pop()的參數是列表里面元素的下標,默認為-1(刪除最后一個元素),也可以指定其他元素的下標,並且pop()返回被刪除的元素
三、元組
注意:
下圖這個tuple定義的時候有3個元素,分別是'a','b'和一個list。不是說tuple一旦定義后就不可變了嗎?怎么后來又變了?
別急,我們先看看定義的時候tuple包含的3個元素:當我們把list的元素'A'和'B'修改為'X'和'Y'后,tuple變為:表面上看,tuple的元素確實變了,但其實變的不是tuple的元素,而是list的元素。tuple一開始指向的list並沒有改成別的list,所以,tuple所謂的"不變"是說,tuple的每個元素,指向永遠不變。即指向'a',就不能改成指向'b',指向一個list,就不能改成指向其他對象,但指向的這個list本身是可變的!理解了"指向不變"后,要創建一個內容也不變的tuple怎么做?那就必須保證tuple的每一個元素本身也不能變。
四、字典
注意:字典pop()函數的參數是字典的key,並不是跟列表一樣(默認刪除最后一個元素)。這一點也可以說明字典是無序的。