擅长:python、mysql、java
<pre><code>inheritance_tree = {
parent:children for parent, children in inheritance_tree.items() if any(
child for child in children.values()
)
}
</code></pre>
<p>检查孩子们是否有自己的孩子。
所以你现在的代码只保留有孙子的父母。
如果希望从列表中删除这些子级,可以编写一个函数遍历该列表,并修改其副本。你知道吗</p>
<p>如果您希望使用单行程序,那么需要在继承树的值中查找父级。
但是,这些值可能不同于dict,因此您也需要检查它。你知道吗</p>
<pre><code>y= {parent:children for parent, children in x.items() if all(
[(parent not in set(k.keys())) for k in x.values() if k])
}
</code></pre>