python笔记:dict与set

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教程的整理



猜你喜欢

转载自blog.csdn.net/zyckhuntoria/article/details/80488197
今日推荐