一:list 和 tuple 的区别:
- list 是可以增加,改变,删除元素的,是动态的,其存储的开销会比 tuple 较大一些,性能也会比 tuple 较差;
- tuple 一旦被创建,就无法改变,无法增加,删除元素,如果使用某些方法打算改变 tuple,其实是返回了一个新的tuple,tuple是静态的,其存储的开销比list小,比list更加轻量级。
应用场景总结: 如果元素是静态的,不变的话用 tuple;如果需要频繁增加,删除,更改元素,使用list。
二:一些常用代码:
1: 验证空间开销
l=[]
t=()
l.__sizeof__()
t.__sizeof__()
a=[1,2,3,4]
t=(1,2,3,4)
l.__sizeof__()
t.__sizeof__()
2: 验证创建list和tuple的时间开销
python3 -m timeit 'x=(1,2,3,4,5,6)'
python3 -m timeit 'x=[1,2,3,4,5,6]'
3: list和tuple的常用内置函数
list:
l.count(item)
l.index(item)
l.reverse()
l.sort()
tuple:
tup.count(item)
tup.index(item)
list(reversed(tup))
sorted(tup)