list:
list是一个可变的有序表,所以,可以往list中追加元素’s’到末尾:
list.append('s')
追加元素s到指定位置:
list.insert(i,'s')
如果要添加多个元素到列表末尾用extend,括号内必须为可迭代对象,如[1, 2, 3, 4]、‘abcd’、(‘1’, ‘2’, ‘3’, ‘4’)等:
list.extend(iterable)
要删除指定位置的元素,如果你要在删除元素后还能继续使用它,就使用pop(i)方法,其中i是索引位置,没有i默认为列表末尾:
list.pop(i)
如果你不再以任何方式使用它,就使用del语句删除指定位置元素:
del.list(i)
根据值删除元素用remove(),例如删除值’s’:
list.remove('s')
要把某个元素替换成别的元素’t’,可以直接赋值给对应的索引位置:
list[1] = 't'
tuple:
tuple中获取元素的方法和list是一样的,但是值不能变了。但如果tuple中嵌套有list时,list中的元素可以改变:
t = ('a', 'b', ['A', 'B'])
t[2][0] = 'X'
t[2][1] = 'Y'
print(t)
('a', 'b', ['X', 'Y'])
表面上看,tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向’a’,就不能改成指向’b’,指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!
如果想该表元组中的值,只能重新赋值:
t = ('a', 'b', ['A', 'B'])
t = ('c', 'd', ['e', 'a'])
print(t)
('c', 'd', ['e', 'a'])
dict:
把数据放入dict的方法,除了初始化时指定外,还可以通过key放入:
dict['key'] = value
由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉。
要删除一个key,用pop(key)方法,对应的value也会从dict中删除:
dict.pop('key')
set:
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果:
set.add(key)
通过remove(key)方法可以删除元素:
set.add(key)
**
list是可变对象
**
str是不变对象,而list是可变对象。
对于可变对象,比如list,对list进行操作,list内部的内容是会变化的, 在定义函数默认参数要牢记一点:默认参数必须指向不变对象!因此最好不要用list定义函数默认对象。