dict字典
dict
全称dictionary
,即字典。在其他语言中也称为map
,使用键-值(key-value)
存储,具有极快的查找速度。
声明一个dict
变量
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
查询数据
d['Michael'] --- 95
添加数据
d['Adam'] = 67
d --- {'Michael': 95, 'Bob': 75, 'Tracy': 85, 'Adam': 67}
更改数据
d['Adam'] = 77
d --- {'Michael': 95, 'Bob': 75, 'Tracy': 85, 'Adam': 77}
如果key不存在,dict就会报错:
>>> d['Adan']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'Adan'
避免key不存在的错误
- 方法一
通过in
判断key是否存在
'Thomas' in d --- False
- 方法二
通过dict提供的get()
方法
d.get('Thomas') --- None
注意:返回None的时候Python的交互环境不显示结果。
指定get()
方法的返回结果:
d.get('Thomas', -1) --- -1
d.get('Thomas', 'key不存在') --- 'key不存在'
删除数据
要删除一个key,用pop(key)
方法,对应的value
也会从dict中删除
# 此时d的值为:{'Michael': 95, 'Bob': 75, 'Tracy': 85, 'Adam': 77}
d.pop('Bob') --- 75
d --- {'Michael': 95, 'Tracy': 85, 'Adam': 77}
set集合
set是一个集合,集合中不能包含重复的数据。
声明一个set变量
set()函数可以创建一个无序不重复的元素集,这个函数至多可以传一个参数。也就是set('str')/set([list])/set((tuple))
创建一个set变量,提供一个list作为输入集合:
s = set([1, 3, 4, 2])
s --- {1, 2, 3, 4}
注意,传入的参数[1, 3, 4, 2]是一个list,而显示的结果是{1, 2, 3, 4},显示的顺序和list原来的顺序是不同的。
重复元素在set中自动被过滤:
s = set([1, 1, 2, 2, 3, 3])
s --- {1, 2, 3}
添加元素
通过add()
方法可以添加元素到set中,可以重复添加,但不会有效果
# 此时s的所有元素为{1, 2, 3}
s.add(4)
s --- {1, 2, 3, 4}
s.add(4)
s --- {1, 2, 3, 4}
删除元素
通过remove()
方法可以删除元素
s.remove(4)
s --- {1, 2, 3}
网友评论