对于字符串和编码,本人水平不够,不能总结,大家可以参考廖雪峰老师的总结,或者去网上听听计算机基础课程,大家可以去自己百度。
下面开始对list和tuple进行总结:
list(列表)
list是Python里的基础数据类型之一,是一个有序的集合,集合里的元素可以是Python里的数据类型。
我们可以这样定义一个list:
在这里,右边变量list就是一个列表(list)(变量名字起的不太友好=。=)
这时候不得不说下索引了(懂的可以跳过),索引就好比为座位号,list就好比一个教室,里面每个座位都有自己的座位号(索引值),但索引是以0为首的,就相当于第一个座位的座位号
是0,不是以我们习以为常的1开始,。
我们可以用len()函数来得出列表的元素个数(教室座位数),然后就可以用索引来调出list中的对应元素了。
要补充的是,我们也可以倒着来输出每个元素,直接用索引 -1 来取最后一个元素,-2 去倒数第二个元素,依次类推。如果想访问list里边的['str',1,True,None]的元素,我们可以把list[4]看成
一个列表,然后用索引调出里面的元素。
但要记得索引值不要超出范围,索引超出范围会引发错误,记住 list的最后一个索引是 len(list)-1 。
下面来总结下list(列表)的一些操作函数。
.append(添加内容)
把添加内容直接添加到列表的末尾,添加内容可以是字符串,整数,浮点数,列表等。
.insert(索引,插入内容)
索引就是你要插入的位置的索引,插入内容同上。
.pop() / .pop(索引)
直接用 .pop() 可以直接删除列表末尾最后一个元素,当()里填入索引值时,直接删除对应索引值的元素。
当我们需要替换某个元素时,可以把其当作变量重新赋值
tuple(元组)
tuple和list比较类似,具有有序性,但tuple在初始化后就不能再被修改,所以又叫做只读列表,元组有一定的安全性,能用tuple代替list时,尽量用tuple,但要注意的是,元组本身
不可变,但如果元组中还包含其他可变元素,这些可变元素是可以被修改的。
当修改不可变的元素时会报错:
当修改可变元素时:
由于tuple时不可变的,所以一些修改,增添函数不能对tuple进行操作,但像len(),.count(),.index()还是可以用的。
最后补充几点:
1.当元组初始化时只有一个元素,如 t = (1) 时,会产生歧义。
可以看出,tuple的类型是 int ,不是tuple,所以,Python规定,在元组定义只有一个元素时,元素后面必须加一个逗号 , 来消除歧义。
最后来点我思考与理解
list,是运用了C语言里链表和数组的思想,在C里数组的类型是统一的,有序的,但数组的长度也是不可修改的,且插入,删除非常麻烦,而链表的长度可以修改,插入删除非常简单,每个元素的类型可以是任意的,总结一下,数组的优点是有序,查找起来方便,链表的优点是增删改方便,元素类型不唯一,Python里把两者的优点结合在list上,是C的提升。