- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个集合,setOfManyElements,它包含 n 个元素。我需要遍历所有这些元素并对 S 的每个元素运行一个函数:
for s in setOfManyElements:
elementsFound=EvilFunction(s)
setOfManyElements|=elementsFound
EvilFunction(s) 返回它找到的元素集。其中一些已经在 S 中,一些是新的,还有一些在 S 中并且已经过测试。
问题是每次我运行 EvilFunction 时,S 都会扩展(直到达到最大集合,此时它将停止增长)。所以我基本上是在迭代一个不断增长的集合。此外,EvilFunction 需要很长时间来计算,因此您不希望对同一数据运行两次。
在 Python 2.7 中有解决这个问题的有效方法吗?
后期编辑:更改了变量的名称,使它们更易于理解。谢谢建议
最佳答案
我建议使用 6502 方法的增量版本:
seen = set(initial_items)
active = set(initial_items)
while active:
next_active = set()
for item in active:
for result in evil_func(item):
if result not in seen:
seen.add(result)
next_active.add(result)
active = next_active
这只访问每个项目一次,完成后 seen
包含所有访问过的项目。
进一步研究:这是广度优先图搜索。
关于python - 迭代python中不断增长的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28584470/
如果这不是一个错误,那就是另一个错误。如果不是那样的话,那就是别的东西了。我觉得我的项目已经改变了很多,现在只是试图解决代码签名问题,结果一切都搞砸了。我严格按照说明进行操作,但出现错误,例如当前的“
我不确定是否有一些我不知道的内置变量或规则,或者 make 是否有问题,或者我只是疯了。 对于我的一个项目,我有一个如下的 makefile: CC=g++ CFLAGS=-O3 `libpng-co
我有大约 10 个 div,它们必须不断翻转,每个 div 延迟 3 秒 这个 codrops 链接的最后一个效果是我正在寻找的,但无需单击 div http://tympanus.net/Devel
我如何使用 jQuery 持续运行 PHP 脚本并每秒获取响应,以及将鼠标上的少量数据发送到同一脚本? 我真的必须添加一些随机扩展才能让这么简单的计时器工作吗? 最佳答案 To iterate is
JBoss 4.x EJB 3.0 我见过如下代码(大大简化): @Stateless @TransactionAttribute(TransactionAttributeType.NOT_SUPPO
使用 PHPStorm,我试图忽略每次尝试进行 git 提交时 pop 的 workspace.xml。 我的 .gitignore 看起来像: /.idea/ .idea/workspace.xml
我是一名优秀的程序员,十分优秀!