qq_24861509
势无形
采纳率100%
2015-03-06 08:31

python中如何深层复制queue对象?

已采纳

如题
直接用赋值语句得到的是引用,copy方法也是得到引用。deepcopy()报错。
除了把队列中的元素全部get出来,再put进去的方法外 ,还有什么好方法吗?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • oyljerry oyljerry 6年前

    没其他办法,只能一个个取出来,然后每个元素deepcopy,插入新队列

    点赞 1 评论 复制链接分享
  • bo602505401 bo602505401 3年前

    1.如果直接用copy.deepcopy深层复制会报错 TypeError: can't pickle thread.lock objects,浅层copy又达不到效果。
    2.手动copy跳过thread.lock ,不是指一个个get,仔细观察queue的结构,你会有新发现。

    点赞 评论 复制链接分享

相关推荐