你好,游客 登录 注册 搜索
背景:
阅读新闻

Python基础之字典dict和集合set

[日期:2017-06-23] 来源:Linux社区  作者:liutongqing [字体: ]

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}

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-06/145115.htm

linux
相关资讯       Python字典dict  Python集合set 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款