擅长:python、mysql、java
<p>我会这样做:</p>
<pre><code>data = { "item" : { "foo" : "bar", "fizz" : "buzz"},
"itemSuper" : { "boo" : "far", "bizz" : "fuzz"},
"itemDuper" : { "omg" : "wtf", "rofl" : "lmao"}}
for key1 in list(data.keys()):
for key2 in list(data.keys()):
if key1!=key2 and key1 in key2:
data[key1].update(data[key2])
del data[key2]
print(data)
</code></pre>
<p>输出:</p>
<pre><code>{'item': {'foo': 'bar', 'fizz': 'buzz', 'boo': 'far', 'bizz': 'fuzz', 'omg': 'wtf', 'rofl': 'lmao'}}
</code></pre>
<p>注意这个解决方案已经就位(它改变了<code>data</code>),我使用了<code>for ... in list(...)</code>——这是至关重要的,因为否则我将无法在循环内<code>del</code>。你知道吗</p>