擅长:python、mysql、java
<p>所以,你基本上想检查一个字典是否是另一个字典的子集。</p>
<pre><code>first = {"one":"un", "two":"deux", "three":"trois"}
second = {"one":"un", "two":"deux", "three":"trois", "foo":"bar"}
def subset_dic(subset, superset):
return len(set(subset.items()) & set(superset.items())) == len(subset)
print(subset_dic(first, second))
</code></pre>
<p>印刷品:</p>
<pre><code>True
</code></pre>
<p>如果要抽象出子集/超集部分:</p>
<pre><code>def subset_dic(dict1, dict2):
return len(set(dict1.items()) & set(dict2.items())) == len(min((dict1, dict2), key=len))
</code></pre>
<p><strong>注意</strong>:如果任何值是可变对象,则此操作将失败。因此,您可以在函数中添加一个额外的步骤(将可变对象转换为可变模拟)来克服此限制。</p>