Dict和Set

作者: SkyHive | 来源:发表于2017-04-12 19:22 被阅读0次

Dict

Python内置了字典Dict(全称Dictionary),使用键-值(key-value)存储,具有极快的查找速度。Dict的查找原理和查字典类似,key就相当于字典的索引,Python可以通过key计算出所对应的value存放的内存地址,直接取出,所以查找速度快。
Dict的初始化很简单,语法如下:

>>> dict = {key1' : value1, 'key2' = value2, 'key3' = value3}
>>> dict['key2']
value2

一个key只能对应一个value,所以当我们对一个key多次赋值时会将前一个value覆盖掉。由于需要查找的key不存在时,dict会报错,为了避免key不存在的情况,Python提供了两种方法:

  • 通过in判断,如果key存在,就返回True,反之返回False
>>> `key` in dict
  • 通过get判断,如果key不存在就返回None(返回None的时候交互式命令行不显示结果),也可以是自己指定返回的内容:
>>> dict.get('key')     #返回None
>>> dict.get('key',-1)      #返回自己指定的值`-1`

删除Dict可以使用dict.pop(key)方法,对应的value也会从dict中删除。
Dict内部的存放顺序和key的放入没有关系,Dict的查找和插入速度不会随着key的增加而变慢,需要占用大量的内存,是一种用空间来换取时间的方法。

Set

Set和Dict类似,也是一组key的集合,但是不存储value。由于key不能重复,所以在set中没有重复的key。要创建一个set需要提供一个list作为输入的集合:

>>> s = set([1,2,3,4,5])

重复的元素会被set自动过滤,可以通过add(key)方法向set添加元素,通过remove(key)方法删除元素。我们可以将set看作数学意义上的集合,因此,两个set之间可以做数学意义上的交(&)、并(|)集等运算

相关文章

  • dict和set

    dict的使用 dict是一个类,它的方法都是由c语言实现。dict的优点是查询速度快,缺点是占用内存。 1.cl...

  • dict和set

    dict 为什么dict查找速度这么快? 因为dict的实现原理和查字典是一样的。假设字典包含了1万个汉字,我们要...

  • dict 和set

    dict:无论表有多大,查找速度都不会变慢,但会占用大量内存,key为不可变对象,(如字符串整数可作为不可变对象,...

  • dict和set

    dict set

  • dict和set

    dict:{ } 关键值:字典、键Key-值Value(键值对)、key不可变、value可变、无序 dict全称...

  • Dict和Set

    Dict Python内置了字典Dict(全称Dictionary),使用键-值(key-value)存储,具有极...

  • dict和set

    Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(k...

  • dict(key与value)和set(key)

    dict和set dict (字典的使用) Python 内置了字典:dict的支持,dict全程dictiona...

  • 6、Dict和Set

    6.1Dict 用dict表示“名字”-“成绩”的查找表如下: d = { 'Adam': 95, 'Li...

  • [python]dict和set

    一、dict使用键-值(key-value)存储,特点:无序、key是唯一且不可变的、查询速度快 可以通过len(...

网友评论

    本文标题:Dict和Set

    本文链接:https://www.haomeiwen.com/subject/xftvattx.html