繁体   English   中英

在迭代期间设置更改的大小

[英]Set changed size during iteration

我是来自c ++背景的python新手。 我只是在玩试图计算素数的集合,并收到“集合在迭代过程中更改大小”错误。

python在内部如何知道集合在迭代过程中更改的大小?

是否可以在用户定义的对象中执行类似的操作?

过滤集合,列表或字典的pythonic方法是使用列表[或dict]表达式

your_filtered_set = set([elem for elem in original_set if condition(elem)])

使用用户定义的对象这样做很简单:每次修改对象时都设置一个标志,并让迭代器在每次尝试检索项目时都检查该标志。

通常,在迭代集合时,请勿修改集合,因为这样可能会丢失一个项目或两次获得相同的项目。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM