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不可以放入可变对象