我有一个简单的 for 循环:
for index, (key, value) in enumerate(self.addArgs["khzObj"].nodes.items()):
我想在每第三个项目之后启动一个新的 wx 水平 boxsizer 来创建一个每个有 3 个节点的面板,并继续处理与节点中一样多的节点。显而易见的解决方案是:
if index % 3 == 0: add a horizontal spacer
但枚举从 0 开始,所以 0 % 3 == 0 并且它会立即开始一个新行。我尝试过这样做:
if index == 0: index = index + 1
但当然这不起作用,因为它创建了一个新的 var 而不是更改原始的变量——所以我得到 1, 1, 2, 3, 4 等,这不起作用,因为我会在我之前得到 4 个节点命中索引 % 3 == 0。
关于如何执行此操作有什么建议吗?这并不是一个很大的列举,通常只有大约 10-15 项。谢谢。
从Python 2.6开始,enumerate()
需要一个可选的start
参数来指示从哪里开始枚举。看的文档enumerate https://docs.python.org/2/library/functions.html#enumerate.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)