Python之dict和set

dict

Python内置了字典:dict的支持,dict全称dictionary,使用键-值(key-value)存储,具有极快的查找速度

1.例如:查找某位同学对应的成绩,使用“名字”-“成绩”的对照表,直接根据名字查找成绩,初始化如下:

>>>d = {'小明': 95, '小红':65, '小李': 88}
>>>print(d['小明'])
95
             

2.把数据放入dict的方法,除了初始化时指定外,还可以通过key放入:

>>>d = {'小明':0,'小红':65,'小李':88}
>>>d['小明'] = 98
>>>print(d['小明'])
98

#同时表明一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉,98冲掉了前面的0
              

3.关于key的注意:

#避免key不存在造成的错误

#1.通过 in 判断key是否存在
>>>'小兰' in d
Fasle

#2.二是通过dict提供的get()方法,如果key不存在,可以返回None,或者自己指定的value:
>>>d = {'小明':95,'小红':65,'小李':88}
>>>print('d[\'小明\'] =', d['小明'])
>>>print('d[\'小兰\'] =', d.get('小兰',-1))
d['小明'] = 95
d['小兰'] = -1

#注意返回None时,python交互环境不显示结果

ps:要删除一个key,用pop(key)方法,对应的value也会从dict中删除

set

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

1.list的创建(使用list作为输入集合)

>>>s = set([1,2,3,4,5,6])
>>>print(s)
{1,2,3,4,5,6}
       

注意,传入的参数[1, 2, 3]是一个list,而显示的{1, 2, 3}只是告诉你这个set内部有1,2,3这3个元素,显示的顺序也不表示set是有序的。。

并且重复的元素自动被过滤,只显示一个:

>>>s = set([1,2,3,4,5,6,6,6,6])
>>>print(s)
{1,2,3,4,5,6}

2.删除set元素和往set中添加元素(可重复添加,但是只显示一个)

#通过add()添加元素
>>>s = set([1,2,3,4,5,6])
>>>s.add(7)
>>>print(s)
{1,2,3,4,5,6,7}
#重复添加
>>>s = set([1,2,3,4,5,6])
>>>s.add(6)
>>>print(s)
{1,2,3,4,5,6}
#通过remove(key)删除set中元素
>>>s = set([1,2,3,4,5,6])
>>>s.add(6)
>>>print(s)
{1,2,3,4,6}

3.set可以做交集、并集运算

#set交集、并集运算
>>>s1 = set([1,2,3,4,5,6])
>>>s2 = set([4,5,6,7])
>>>s1 & s2
>>>s1 | s2
>>>print( s1 & s2)
>>>print( s1 | s2)
{4, 5, 6}
{1, 2, 3, 4, 5, 6, 7}

注:set 和 dict不可以放入可变对象

参考资料

posted @ 2018-01-17 22:42  woft王  阅读(241)  评论(0)    收藏  举报