您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python中set.discard和set.remove方法之间的运行时差异?

Python中set.discard和set.remove方法之间的运行时差异?

在一种情况下引发异常是 非常有意义的区别 。如果尝试从不存在的集合中删除某个元素会出现错误,则最好使用set.remove()而不是set.discard()

这两种方法在实现上是相同的,只不过与set_discard()set_remove()函数相比增加了以下几行:

if (rv == DISCARD_NOTFOUND) {
    set_key_error(key);
    return NULL;
}

这引起了KeyError。由于这是稍微更多的工作,set.remove()一个 teeniest 分数越慢; 在返回之前,您的cpu必须进行一项额外的测试。但是,如果您的算法 依赖于异常, 则额外的分支测试几乎无关紧要。

python 2022/1/1 18:27:41 有198人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶