将链接字典导入python中的字典

时间:2017-05-17 18:50:01

标签: python python-2.7 dictionary

我有一个嵌套字典。我不知道它前面的结构。我想从中创建一个非嵌套字典。

我创建了一个递归函数来完成这项任务,但我想知道是否有更快的方法来实现这一目标。

我的递归函数如下所示:

假设我有一个嵌套字典,例如:

  dic = {"A1":{"B1":{"C":3},
              "B2":{"D1":"a",
                    "D2":"nested within D2",
                    "D3":{"E1":1,"E2":2}}},
         "A2":100}

然后我的递归函数是:

   def recurse(dic,prefix="",myrow={}):
      ## dic: dictionary
      for key in dic.keys():

        dickey = dic[key]
        if isinstance(dickey,dict):
            recurse(dickey,prefix + key + "_" ,myrow)
        else:
            myrow[ prefix + key ] = dickey

      return myrow

这将给出非嵌套字典:     递归(dic)

{'A1_B1_C': 3,
 'A1_B2_D1': 'a',
 'A1_B2_D2': 'nested within D2',
 'A1_B2_D3_E1': 1,
 'A1_B2_D3_E2': 2,
 'A2': 100}

0 个答案:

没有答案