如何在Python中仅复制嵌套字典的键结构?

2024-05-08 02:24:55 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一本字典,如下所示

{'g_g': {'cube': array([...]),
         'factorization': array([...]),
         'renormalization': array([...]),
         'square': array([...])},
 'q_g': {'12': {'cube': array([...]),
                'factorization': array([...]),
                'renormalization': array([...]),
                'square': array([...])},
         '21': {'cube': array([...]),
                'factorization': array([...]),
                'renormalization': array([...]),
                'square': array([...])}},
 'q_q': {'cube': array([...]),
         'factorization': array([...]),
         'renormalization': array([...]),
         'square': array([...])}}

我如何复制字典的所有键(具有结构)并将最里面的键的值设置为None?结构可以不同,因此最好让代码识别哪些键是最里面的。我知道deepcopy可以做到这一点,但它也会复制值

提前谢谢


Tags: 代码none字典结构arraysquarecubefactorization
1条回答
网友
1楼 · 发布于 2024-05-08 02:24:55

如果要删除字典的数组部分,可以在使用deepcopy之后使用以下命令

# Suppose ar is the dictionary you get after using deepcopy
def func(ar):
    for i in ar:
        if type(ar[i]) != dict:
            ar[i] = None
        else:
            func(ar[i])

相关问题 更多 >