Python复制或克隆defaultdict变量

时间:2014-03-13 20:19:07

标签: python python-2.7 dictionary copy defaultdict

如何在Python的defaultdict对象中创建一个副本(不只是为内存中的同一位置指定一个新指针)?

from collections import defaultdict
itemsChosen = defaultdict(list)    
itemsChosen[1].append(1)
dupChosen = itemsChosen
itemsChosen[2].append(1)
print dupChosen

上面的代码是浅拷贝并返回

defaultdict(<type 'list'>, {1: [1], 2: [1]})

而我正在寻找它返回

defaultdict(<type 'list'>, {1: [1]})

感谢。

1 个答案:

答案 0 :(得分:6)

使用copy

from copy import copy

dupChosen = copy(itemsChosen)

如果有多个嵌套,也会进行深层扫描。