学习资料
比较python数据类型:list tuple dictionary set
| 数据类型 | 格式 | 是否有序 | 是否有重复 | 数据结构 | 元素是否可变 | key是否可变 |
列表 | list | value | 有 | 有 | 链表 | 可变 |
|
元组 | tuple | value | 有 | 有 | 链表 | 不可变 |
|
字典 | dictionary | key:value | 无 | key不可重复 | hash表 | 可变 | 不可变 |
集合 | set | key | 无 | 不可重复 | hash表 | 可变 | 不可变 |
由于采用不同的数据结构,list/tuple vs. dictionary/set的优缺点如下:
| 优点 | 缺点 |
list/tuple | 节省内存 | 访问慢 |
dictionary/set | 访问极快 | 浪费大量内存 |
简单理解字典和集合是怎么创建hash表的
input:key
output: 内存地址,用于存放value
因此,当查找字典中元素时,根据key,可以直接通过hash函数计算出value所在的内存地址。