我有一个dict
这样的:
d = {'a':'b+c', 'b':'f+g', 'f':'y+u'}
我想递归地替换也是键的值中的字母,所以我最终得到:
d = {'a':'y+u+g+c', 'b':'y+u+g', 'f':'y+u'}
我尝试使用此代码:
def getval(key,d):
if d.has_key(key):
temp=re.findall('\w+',d[key])
for i in range(len(temp)):
if d.has_key(temp[i]):
getval(temp[i],d)
else:
continue
for k,v in d.iteritems():
temp=re.findall('\w+',d[k])
for i in range(len(temp)):
if d.has_key(temp[i]):
getval(temp[i],d)
但它不起作用。我该怎么做?我真正的字典要大得多,但绝对不包含任何循环。