dict

Python内置了字典:dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。

d = {'Michael':95, 'Bob':75, 'Tracy':85}
print(d['Tracy'])   # 85

由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉。

d['Bob'] = 100
print(d['Bob'])   # 100

如果key不存在,dict就会报错。要避免key不存在的错误,我们可以通过in判断key是否存在,或者用get()方法(如果key不存在,可以返回None,或者自己指定的value)。

'Thomas' in d        #  False

d.get('Thomas')      # None
d.get('Thomas', -1)  # -1

要删除一个key,用pop()方法

d.pop('Bob')
print(d)     # {'Michael':95, 'Tracy':85}

和list相比,dict有一下几个特点:
1、查找和插入的速度极快,不会随着key的增加而变慢;
2、需要占用大量的内存,内存浪费多。

set

集合(set)是一个无序不重复元素的序列。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

s = set([1, 2, 3])
print(s)     #  {1, 2, 3}

s = set([1, 1, 2, 3,  2, 3])
print(s)     #  {1, 2, 3}

s = {1, 1, 2, 3,  2, 3}

通过add(key)方法可以添加元素到set,通过remove(key)方法可以删除元素。

s.add(4)
s.update(4)  # 可以添加元素,且参数可以是列表,元组,字典等
s.remove(4)  # 移除集合中的元素,如果元素不存在,则会发生错误
s.discard(4) # 移除集合中的元素,如果元素不存在,不会发生错误
s.pop()      # 随机删除集合中的一个元素
s.clear()    # 清空集合

set可以看成数学意义上的无序和无重复元素的集合,因此,俩个set可以做数学意义上的交集、并集等操作。

s1 = set([1, 2, 3])
s2 = set([2, 3, 4])
print(s1 & s2)     # {2, 3}
print(s1 | s2)     # {1, 2, 3, 4}
posted on 2018-09-26 11:20  Q同码  阅读(152)  评论(0编辑  收藏  举报