python的列表与字典、集合
列表 list与tuple
区别 | 特性 | 表示方法 | 插入 | 删除 | 取值 |
---|---|---|---|---|---|
list | 有序集合,可以增减 | c=[‘1’,‘2’,‘3’] | c.append(‘4’) | c.pop(i) # i为索引位置 | c[i] #i为索引位置 |
tuple | 有序列表,不可增减 | c=(‘1’,‘2’,‘3’) | / | / | c[i] #i为索引位置 |
字典dict与set
区别 | 特性 | 表示方法 | 插入 | 删除 | 取值 |
---|---|---|---|---|---|
dict | key-value存储,map | d={‘this’:1,‘that’:2} | d[‘test’]=3 | d.pop(‘test’) | d.get(‘this’) 使用’this’ in d可判断该key是否在d中 |
set | key的组合,但不存储value,无重复,无序,可增减 | s=set([1,2,3]) | s.add(4) | s.remove(4) |
- 与list相比,dict的特点
dict | list |
---|---|
查找和插入速度快,不因Key的增加而变慢 | 查找和插入的时间随元素的增加而增加 |
占用大量内存,内存浪费多 | 占用空间小,浪费内存很少 |
- dict使用空间换取时间
- dict的key必须为不可变对象,其中,字符串、整数等都为不可变,可作为key,list可变,不能作为key
- set的key也必须为不可变对象,无法判断是否相等,因而无法判断是否重复