Python 复制嵌套字典
我有一个带整数键的dict,每个键的值都是一个带整数键的映射,一组整数作为值 例: 我正在尝试编写执行以下操作的函数: 给定Python 复制嵌套字典,python,algorithm,Python,Algorithm,我有一个带整数键的dict,每个键的值都是一个带整数键的映射,一组整数作为值 例: 我正在尝试编写执行以下操作的函数: 给定x的每个值中存在的键(k)(比如2),它应该返回一个具有类似结构和以下属性的新dict: 键(T):在k 值:具有相同内部键的dict,但给定内部键(k')的值是与旧dict中的k'相关联的所有集合的并集,这些集合在x[k] 在上面的示例中,如果参数为k=2,则应返回: y = { 7 : {0:set([1,2,5]), 1:set([3,4]), 2:se
x
的每个值中存在的键(k)(比如2),它应该返回一个具有类似结构和以下属性的新dict:
- 键(T):在
k
- 值:具有相同内部键的dict,但给定内部键(
)的值是与旧dict中的k'
相关联的所有集合的并集,这些集合在x[k]k'
k=2
,则应返回:
y = {
7 : {0:set([1,2,5]), 1:set([3,4]), 2:set([7])},
8 : {0:set([1,2,5]), 1:set([3]), 2:set([8])},
}
我目前正在通过迭代旧dict中
k
下的所有可能值并构造新值来实现这一点。有没有一种有效的方法可以做到这一点?您还必须创建对象的副本,因为您可以使用copy
模块的deepcopy
。检查细节。这将复制所有对象和基本数据。您还必须创建对象的副本,以便使用复制
模块的深度复制
。检查细节。这将复制所有对象和基本数据。@^不,不是……我没有提供实际代码的原因是当前代码涉及到我当前参与的项目的许多不必要的额外细节……尝试清理您的示例(不正确)--它们现在是否正确?我是否可以建议您使用当前代码并将其放置在codereview.stackexchange.com上进行审阅?目前,试图从描述中确定您的功能是很困难的。@^不,不是……我没有提供实际代码的原因是当前代码涉及到我当前参与的项目的许多不必要的额外细节……试图清理您的示例(不正确)--它们现在是否正确?我是否可以建议您使用当前代码并将其放置在codereview.stackexchange.com上进行审阅?目前,试图从描述中确定你的功能是很困难的。如果你制作一个全新的dict对象,你不会复制旧的——你只会制作一个新的。如果你制作一个全新的dict对象,你不会复制旧的——你只会制作一个新的。
y = {
7 : {0:set([1,2,5]), 1:set([3,4]), 2:set([7])},
8 : {0:set([1,2,5]), 1:set([3]), 2:set([8])},
}