a={'1':{'2':{'3':'4'}}}
for something in range(0,some_input): # a forloop
print something_x
我需要“print something_x”这样......
for loop1 -> {'2':{'3':'4'}}
for loop2 -> {'3':'4'}
for loop3 -> {'4'}
在循环1中,something_x必须是['1'],在循环2中必须是['1'] ['2'],依此类推
问题是我得到了一些数字,其中一个数字告诉我json对象中的层次结构需要根据变量替换/编辑/添加。
我可以尝试创建副本然后替换它们或尝试递归方式但我可能会得到ctrl + c中断并且不想丢失我已经编辑过的数据直到现在
我也试过动态创建变量名称,如
zzz="a['1']['2']"
eval(zzz)
我知道这不是最好的方法
无论如何都要动态添加json对象前面的键吗?
答案 0 :(得分:0)
在您的具体示例中,您可以使用指向更深入和更深入dict的指针:
In [33]: a = {'1': {'2': {'3': '4'}}}
In [34]: pointer = a
In [35]: for key in range(1, 4):
....: print pointer[str(key)]
....: pointer = pointer[str(key)]
....:
{'2': {'3': '4'}}
{'3': '4'}
4
不确定大局是什么(以及它与JSON有什么关系)。