dict
一、写一个dict,是name-value形式
d = {'zhangsan':100,'wanger': 95, 'lisi': 85}
二、对dict的value进行操作
1、查找zhangsan的值:d['zhangsan']
2、对dict添加值:d['wangwu']=75
3、覆盖原dict中的值:d['lisi']=65
三、对dict中的key进行操作
1、判断key是否存在,有两种方法①通过in判断key是否存在:
>>>‘bety’ in d
False
②通过dict提供的get()方法,可以直接返回None,也可以自己指定value
>>>dict.get('bety')
>>>dict.get('bety',-1)
-1
2、删除key:>>>d.pop('lisi')
65
>>>d
>>>{'zhangsan':100,'wanger':95}
四、dict需要注意的几点
1、速度和内存:与list相比,dict是用空间换取时间的一种方法,其具有两个特点:
①查找和插入的速度极快,不会随着key的增加而变慢
②需要占用大量的内存,内存浪费多
2、key:dict中的key必须是不可变对象
dict用在许多高速查找的地方,dict根据key来计算value的存储位置,如果每次根据相同的key计算得出的结果不同,所以要保证hash的正确性,作为key的对象就不能够改变,所以不可变的字符串,整数可以作为key,而可以变的list不能作为key
>>>list[1,2,3]
>>>d['list']=34
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
3、顺序:内部存放的顺序和key放入的顺序是没有关系的
set
set和dict类似,也是一组key的集合,但是不存储value,set中没有重复的key
一、创建set
1、创建一个set,要提供一个list作为输入集合:
>>>s=set([1,2,3])
>>>s
{1,2,3}
二、set操作
1、添加元素:add(key)
>>>s=set[(1,3,4,3,2,1)]
>>>s.add(5)
>>>s
{1,2,3,4,5}
2、删除元素:remove(key)
>>>s.remove(4)
>>>s
{1,2,3,5}
3、做交集、并集操作
>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2
{2, 3}
>>> s1 | s2
{1, 2, 3, 4}
三、需要注意的几点
1、重复元素在set中自动被过滤:
>>>s=set([1,1,2,3,4,2,3])
>>>s
{1,2,3,4}
2、set是无序的,只是表达有这几个key
3、key也不能为可变对象
以上笔记来自对于廖雪峰博客python教程的整理