1、区别:列表的长度大小不固定,可以进行增删改等操作;元组的长度固定,不能进行增删改等操作
2、列表相关命令:
list = []
-增加
list.append('a') #在列表尾部新增元素
list.insert(0,'b') #指定列表的索引位置插入元素
-查询
list[0] #查询索引为0的元素
list[1:3] #切片,结果还是一个列表
-删除
list.pop(1) #删除索引为1的元素,默认删除最后一个
list.clear() #清空列表,返回None
-修改
list[1]=4 #修改索引为1的元素的值为4
3、元组的修改需要重新分配一块内存来创建新的元组,如:
tp=(1,2,3)
tp2 = tp + (4,)
print(tp2)
>>(1,2,3,4)
4、列表和元组有一样的内置函数
内置函数
-count() #list.count(3)统计列表元素值为3的个数
-index() #list.index(4)统计列表元素值为4的索引
-reverse() #list.reverse()翻转列表,仅用于列表,如[1,2,3]-->[3,2,1]
-list(reversed(tp)) #用于元组
-sort() #list.sort()列表排序,仅用于列表
-sorted(tp) #用于元组
5、列表和元组的使用场景
列表常用于动态数据的存储,如存储用户信息;元组一般用来存储静态数据,固定不变的数据,如经纬度。
6、列表和元组的空间占用率
列表>元组,因为列表需要分配一部分空间用来保存指针,从而保证每次增删改数据的时候可以实时追踪表空间的使用情况。
7、性能
python后台会对静态数据做一些资源缓存,而对于动态数据,动态数据不被使用时,python会采用垃圾回收机制回收它们所占的内存返还给操作系统。对于一些静态资源,比如元组,当程序再次调用内存时,python就不需要向系统再次请求内存分配,直接把原来的缓存分配给这些静态资源,从而提高了运行速度。
8、总结
列表的长度大小是动态的,可以进行增删改,元组的长度大小是固定的,不可以进行增删改;元组比列表的性能优一点、存储空间小一点。