擅长:python、mysql、java
<p>这里有一个一般的方法来做这个(对于任何深度的dict)—</p>
<pre><code># This function takes the dict and required prefix
def extract(d, prefix, res=None):
if not res:
res = []
for key, val in d.iteritems():
if key.startswith(prefix):
res.append(key)
if type(val) == dict:
res = extract(val, prefix, res[:])
return res
# Assume this to be a sample dictionary -
d = {"zt1": "1", "zt2":{"zt3":{"zt4":"2"}}}
res = extract(d, "zt")
print res
# Outputs-
['zt1', 'zt2', 'zt3', 'zt4']
</code></pre>
<p>这基本上迭代每个键,并使用<code>startswith</code>函数来确定该键是否以<code>zt</code>开头</p>