python基础之字典dict和集合set
作者:tongqingliu
转载请注明出处:http://www.cnblogs.com/liutongqing/p/7043642.html
python基础之字典dict和集合set
字典dict
字典使用键值对存储,具有极快的查找速度。
>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} # 创建字典
>>> d
{'Michael': 95, 'Tracy': 85, 'Bob': 75}
>>> d['Michael'] # 字典的索引
95
>>> d['Jack'] = 90 # 为字典添加元素
>>> d['Jack']
90
>>> d['Jack'] = 88 # 更新字典中键的值
>>> d['Jack']
88
>>> d
{'Michael': 95, 'Jack': 88, 'Tracy': 85, 'Bob': 75}
>>> 'Thomas' in d # 判断字典中是否存在某个键,若存在则返回True,若不存在则返回False
False
>>> d.get('Bob') # get方法,如果key不存在,返回None,如果存在则返回对应的值
75
>>> d.get('Haha') # 不存在,返回None
>>> d.pop('Bob') # 删除Bob对应的键值对
75
>>> d
{'Michael': 95, 'Jack': 88, 'Tracy': 85}
dict内部存放的顺序和key放入的顺序没有关系。
字典的键必须是不可变对象。
字典和列表的对比
dict有以下几个特点:
-
查找和插入的速度极快,不会随着key的增加而变慢;
-
需要占用大量的内存,内存浪费多。
而list相反: -
查找和插入的时间随着元素的增加而增加;
-
占用空间小,浪费内存很少。
所以,dict是用空间来换取时间的一种方法。
集合set
set和dict类似,也是一组key的集合,但不存储value。这里的集合与数学上的集合类似,其中的key不能重复。
>>> s = set([1, 2, 3]) # 通过列表创建集合
>>> s
{1, 2, 3}
>>> s = set([1, 1, 2, 2, 3, 3]) # 集合去除重复元素
>>> s
{1, 2, 3}
>>> s.add(4) # 给集合添加元素
>>> s
{1, 2, 3, 4}
>>> s.add(4) # 重复添加元素不会报错,但不会起作用
>>> s
{1, 2, 3, 4}
>>> s.remove(4) # 删除元素
>>> s
{1, 2, 3}
>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2 # 求交集
{2, 3}
>>> s1 | s2 # 求并集
{1, 2, 3, 4}
参考:
作者:
tongqingliu
出处: http://www.cnblogs.com/liutongqing/
本文版权归作者和博客园共有,欢迎转载、交流,但未经作者同意必须保留此段声明,且在文章明显位置给出原文链接。
如果觉得本文对您有益,欢迎点赞、欢迎打赏。
出处: http://www.cnblogs.com/liutongqing/
本文版权归作者和博客园共有,欢迎转载、交流,但未经作者同意必须保留此段声明,且在文章明显位置给出原文链接。
如果觉得本文对您有益,欢迎点赞、欢迎打赏。
posted on 2017-06-18 10:13 tongqingliu 阅读(401) 评论(0) 编辑 收藏 举报