一、字符串
其中的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,并不是跟列表一样(默认删除最后一个元素)。这一点也可以说明字典是无序的。