擅长:python、mysql、java
<p>尝试:</p>
<pre><code>from collections import defaultdict
def dictizeString(string,dictionary) :
while string.startswith('/'):
string = string[1:]
parts = string.split('/',1)
if len(parts)>1:
branch = dictionary.setdefault(parts[0],[dict()])
dictionary[parts[0]].append(dict())
dictizeString(parts[1], branch[1]) # < - branch -> branch[1]
else:
if dictionary.has_key(parts[0]):
dictionary[parts[0]]=dict()
else:
dictionary[parts[0]]=[dict()]
dictionary[parts[0]].append(dict())
d={}
dictizeString('/a/b/c/d', d)
print d
</code></pre>
<p>第7行有一条语句,将默认值设置为字典列表,但随后您尝试继续使用它所期望的字典所在的函数。你知道吗</p>