recipe-577460.py 文件源码

python
阅读 20 收藏 0 点赞 0 评论 0

项目:code 作者: ActiveState 项目源码 文件源码
def __setitem__(self, key, value):
        # Overridden to make sure dict is normalized.
        if not isinstance(value, Real) or value < 0 or value > 1:
            raise ValueError("Value must be a number between 0 and 1, unlike " +
                             str(i))
        try:
            r = (self[key] - value)/(1 - self[key])
            # r is the fraction of the remaining probability mass that
            # we're going to give up (take).
            for k in filter(key.__ne__, self):
                dict.__setitem__(self, k, self[k] * (1 + r))
            value = value if len(self) != 1 else 1
            if value:
                dict.__setitem__(self, key, value)
            else:
                # This is the purging stage!
                dict.__delitem__(self, key)
        except ZeroDivisionError:
            # self[key] = 1, so key has all the probability mass. We'll leave it
            # as is, since there's no sensible way of reducing it.
            pass
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号