Python 字典和集合

  字典的每个键值对用冒号分割,键值对之间用逗号分隔,所有键值对包括在{}中。

d = {key1 : value1, key2 : value2 }

  键必须是唯一的,值可以不唯一。值可以取任何数据类型,但键必须是不可变对象,如字符串,数字或元组。

字典内置方法

dict.keys()    # 返回一个迭代器

dict.values()      # 返回一个迭代器

dict.items()     # 返回一个迭代器

dict[key]       # 返回键对应的值

dict.get(key,None)  # 返回指定键对应的值,如果没有则返回 None(也可以指定为其他值)

dict.setdefault(key,Value)    # 返回指定键对应的值,如果没有则添加该键到字典中并将值设置为 Value

dict.pop(key)     # 删除一个 key,并返回 value

del dict[key]    # 删除一个 key

dict[key] = value     # 添加一个键值对

dict.update(dict2)   # 把字典 dict2 元素添加到字典 dict

dict.clear()         # 清空字典

key in dict          # 判断 key 是否在字典中

字典和列表比较

  • 字典是按键查找,速度极快,不会随着 key 的增加而变慢;列表是按顺序查找,查找的速度随着元素的增加而变慢。

  • 字典占用内存空间大,列表占用内存空间小。

 

  集合是一个无序的不重复元素序列。

集合基本操作

s = set()      # 创建集合

s.copy()    # 拷贝集合

s.add()        # 添加可哈希类型的元素(数字、字符串、元组)

s.update()   # 添加不可哈希类型的元素(列表、字典)

s.remove()  # 移除指定元素,如果不存在,产生 KeyError 异常

s.discard()  # 移除指定元素,如果不存在,不会报错

s.pop()     # 随机移除一个元素

s.clear()      # 移除所有元素

x in s     # 判断元素是否在集合中

 

s.intersection(s2)  # 返回集合的交集

s.union(s2)         # 返回集合的并集

s.difference(s2)    # 返回集合的差集,存在于集合 s 中不存在于集合 s2 中的元素

s.symmetric_difference(s2)  # 返回两个集合中不重复的元素集合

s.intersection_update(s2)     # 移除集合 s 中不存在于集合 s2 中的元素

s.difference_update(s2)        # 移除集合 s 中存在于集合 s2 中的元素

s.symmetric_difference_update(s2)  # 移除集合 s 中存在于集合 s2 中的元素,且添加集合 s2 中不存在于集合 s 中的元素

 

posted @ 2019-04-29 10:30  PIPO2  阅读(241)  评论(0编辑  收藏  举报