我有一个Python的deque,正在进行迭代。有时在迭代过程中deque会发生变化,导致出现RuntimeError: deque mutated during iteration
的错误。
如果这是一个Python列表(list)而不是deque,我可以通过使用切片(如my_list [:]
)来迭代列表的副本来解决问题。然而由于切片操作不能用于deque,因此我想知道处理这种情况的最pythonic的方法是什么?
我的解决方案是导入copy模块,然后迭代复制品,如for item in copy(my_deque):
这样做很好,但既然我在这里搜寻了这个主题,那么我就在这里发布帖子进行询问?
deque
时对其进行修改?能否展示一些代码? - thefourtheye