美文网首页
python内置序列二——字典和集合

python内置序列二——字典和集合

作者: 凹凸曼_ebb9 | 来源:发表于2018-04-15 18:02 被阅读0次

    字典构造方法

    字典推导

    可以从任何以键值对作为元素的可迭代对象中构建出字典

    例:

    DIAL_CODES=[(86,'China'),(91,'India')...]

    contry_code = {country:code for code, country in DIAL_CODES}

    用setdefault处理找不到的键

    my_dict.setdefault(key, []).append(new_value)相当于

    if key not in my_dict:

        my_dict[key] = []

    my_dict[key].append(new_value)

    映射的弹性键查询

    defaultdict:处理找不到的键的一个选择

    比如,我们新建了这样一个字典:dd=defaultdict(list),如果键"new-key"在dd中还不存在的话,表达式dd['new-key']会按照以下的步骤来行事:

    1、调用list()来建立一个新列表

    2、把这个新列表作为值,'new-key'作为它的键,放到dd中。

    3、返回这个列表的引用

    集合论

    集合的本质是许多唯一对象的聚集,因此,集合可以用于去重。

    除了保证唯一性,集合还实现了许多基础的中缀运算符。给定两个集合a和b,a|b返回的是它们的合集,a&b返回的是它们的交集,而a-b得到的是差值。

    dict的实现及其导致的结果

    1、键必须是可散列的

    一个可散列的的对象必须满足以下要求:

    (1)支持hash()函数,并且通过__hash__()方法所得到的散列值是不变的。

    (2)支持通过__eq__()方法来检测相等性。

    (3)若a==b为真,则hash(a) == hash(b)也为真

    2、字典在内存上的开销巨大。

    3、键查询很快。

    4、键的次序取决于添加顺序。

    5、往字典里添加新键可能会改变已有键的顺序。

    相关文章

      网友评论

          本文标题:python内置序列二——字典和集合

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