Pythonic复制dict特定属性的方法?

时间:2015-03-25 07:57:36

标签: python memory dictionary copy

我很多时候发现自己使用copy.deepcopy()来创建dict的副本,然后创建我不需要的del属性。

我不做以下事情:

  1. 请参阅现有的dict;因为我需要在保留原始dict的情况下操纵值。
  2. 复制我真正需要的dict的特定属性;因为有时我必须操纵现有属性来创建新属性(对于新dict),之后我不需要现有属性(在新dict中)。
  3. 我能想到的其他选择:

    1. 慷慨地使用临时变量而不是copy.deepcopy整个dict,并让临时变量自动使用范围到期。
    2. 那么,我是以Pythonic方式做的吗?

1 个答案:

答案 0 :(得分:0)

如果您需要来自词典"foo"的{​​{1}}和"bar"个键,其值为deepcopy,那么:

a

如果您不需要值的副本:

dict((x,copy.deepcopy(a[x])) for x in ('foo','bar'))