python的清單與字典、集合
-
- 清單 list與tuple
- 字典dict與set
清單 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也必須為不可變對象,無法判斷是否相等,因而無法判斷是否重複