私は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)
しかし、うまくいきません。どうすればいいですか?私の実際の辞書はもっと大きいですが、確かにサイクルは含まれていません。