3.dict和set

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 "", line 1, in 
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}

你可能感兴趣的:(3.dict和set)