如何在python中深度复制队列

2022-01-20 00:00:00 python 复制 queue

问题描述

如何在 python 中深度复制队列?谢谢

Hi How to deepcopy a Queue in python? Thanks


解决方案

queue 模块 用于同步线程之间的共享数据.它不是打算用作数据结构,并且不支持复制(甚至不支持浅复制).

The queue module in Python is used for synchronizing shared data between threads. It is not intended as a data structure and it doesn't support copying (not even shallow copy).

(.get.put可以对一个Queue进行多次deepcopy,但是原来的Queue会被销毁.)

(It is possible to construct many deepcopy's of a Queue by .get and .put, but the original Queue will be destroyed.)

如果您想将队列(或堆栈)作为数据结构,使用 collections.deque.如果您想要优先级队列,请使用 heapq 模块.deque 支持 deepcopy.heapq 由列表支持,因此也支持 deepcopy.

If you want to have a queue (or stack) as a data structure, use a collections.deque. If you want a priority queue, use the heapq module. The deque supports deepcopy. heapq is backed by a list, so deepcopy is also supported.

相关文章