我有字典,我必须这样迭代:
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
,以便可以使用任意大的嵌套dict执行类似操作(我可能需要在某些迭代项周围使用括号,但括号的使用将由explode
决定,我可以想象)
for akey,dkey,fkey,hkey,ival in explode(cdict):
# do something
# or
for *keys,val in explode(any_nesteddict):
# do something
有没有办法在字典中解压到某个级别,例如如果我想得到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
我们需要编写
(k,)
,而不仅仅是(k)
,因为Python中的元组是用逗号定义的,括号只是用来分组的,所以(k) == k
,但是(k,)
是一个包含k
的元组相关问题 更多 >
编程相关推荐