在IPython中工作,我输入了3个作业:
In [1]: foo = 1
In [2]: bar = 2
In [3]: zoo = 3
我打算拿一张它们的字典。
In [4]: globals()
Out[4]:
{...
'bar': 2,
'exit': <IPython.core.autocall.ExitAutocall at 0x10e61b048>,
'foo': 1,
'get_ipython': <bound method InteractiveShell.get_ipython of <IPython.terminal.interactiveshell.TerminalInteractiveShell object at 0x10e617208>>,
'quit': <IPython.core.autocall.ExitAutocall at 0x10e61b048>,
'zoo': 3}
globals
按字母顺序打印一个字典,所以我不能用一个操作来选择它们。
如何以assignnent_created顺序从globals()获取dict?
答案 0 :(得分:0)
首先,全局变量不跟踪创建的顺序。 其次,您可以尝试删除不需要的项目,然后按如下方式对字典进行排序:
def flatten(d, prefix=()):
for k,v in d.items():
if isinstance(v, dict):
yield from flatten(v, prefix=prefix+(k,))
else:
yield list(prefix + (v,))