dict(空间换时间) | list | |
用法 | 高速查找 | |
特点 | 1.查找插入极快,不随key增加而变慢 2.需占用大量内存,内存浪费多 3.key值是不可变对象(字符串、整数),因此 4.使用键--值存储 | 1.时间随元素增加而增加 2.占用空间少,浪费内存少 |
1.dict:KEY必须为不可变对象【字符串,整数】(因为,dict通过key来计算value的存储位置【哈希算法】)--list不可以
dict :一组key的集合。全称就是dictionary,也就是其他语言中的map。其实相当于字典,因此查找速度更快。举个栗子:
>>>d = {'Michael' : 95, 'Bob' : 75, 'Tracy' : 85}
>>>d['Michael']
95
一个key只能对应一个value,多次对一个key放入,后面的值会冲掉前面的值
dict的几种用法:
通过key放入 | >>> d['Adam'] = 67 >>>d['Adam'] 67 |
避免key不存在 | 1. 通过in判断 :>>> 'Tomas' in d 2.通过dict提供的get()方法,如果不存在,返回None 或指定value False >>> d.get('Tomas') (返回None时Python交互环境不显示结果) >>>d.get('Tomas', -1) -1 |
删除Key,对应的value也会从dict中删除 | >>>d.pop('Bob') 75 |
2.set 无序,无重复元素的集合 ,KEY必须为不可变对象
>>>s
{1, 2, 3}
[1, 2, 3]是一个list ,{1, 2, 3}只说明这个set内部有1, 2, 3这3个元素,显示的顺序不代表set是有序的
set的几个用法:
添加 | >>> s.add(4) >>>s {1, 2, 3, 4} |
删除 | >>>s.remove(4) >>>s {1, 2, 3} |
交集,并集 | >>> s1 = set([1, 2, 3]) >>> s2 = set([2, 3, 4]) >>>s1 & s2 {2, 3} >>>s1 | s2 {1, 2, 3, 4} |