【发布时间】:2021-09-20 03:55:01
【问题描述】:
我有字典,我必须像这样迭代:
for akey,bdict in cdict.items():
for dkey,edict in bdict.items():
for fkey,gdict in edict.items():
for hkey,ival in gdict.items():
# do something
我如何定义explode,以便我可以使用任意大的嵌套字典来做这样的事情(我可能需要在一些迭代项周围加上括号,但括号的使用将由explode 决定,我会想象一下)?
for akey,dkey,fkey,hkey,ival in explode(cdict):
# do something
# or
for *keys,val in explode(any_nesteddict):
# do something
7 月 9 日 23:38 popcorndude 回答后更新
有没有办法在字典中解压到某个级别,例如,如果我想得到akey、dkey 和edict?
for (akey,dkey),edict in explode(cdict, level=2):
# do stuff
# which is different from original question:
for (akey,dkey,fkey,hkey),ival in explode(cdict):
# do stuff
【问题讨论】:
-
到目前为止你有什么尝试?
标签: python loops dictionary nested