python 字典与集合

字典

th

collections.Counter 计数器

image.png

找不到键的时候会调用miss方法

如果键不是字符串,则转换成字符串

class StrKeyDict0(dict): # <1>

def __missing__(self, key):
    if isinstance(key, str):  # <2>
        raise KeyError(key)
    return self[str(key)]  # <3>

def get(self, key, default=None):
    try:
        return self[key]  # <4>
    except KeyError:
        return default  # <5>

def __contains__(self, key):
    return key in self.keys() or str(key) in self.keys()  # <6>

集合的交集、并集、差集

image.png

image.png

集合方法

image.png

集合和字典的效率高于列表

image.png

字典在内存上的开销较大

字典的键查询很快

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

集合和字典都消耗内存
但是查询速度很快
字典的键和集合的元素都是可散列的
添加新元素都可能改变顺序

如果元素数量很大,就不考虑集合和字典,因为会占用大量空间

你可能感兴趣的:(python 字典与集合)