擅长:python、mysql、java
<p>您可以使用<a href="https://docs.python.org/2/library/sets.html#set-objects" rel="nofollow">^{<cd1>}</a>:</p>
<pre><code>>>> bool({'b','c'}.intersection(xyz.get('a')))
True
</code></pre>
<p>以下基准测试表明,它比<code>any</code>更有效:</p>
<pre><code>:~$ python -m timeit "xyz = {'a':{'b':[1,2,3]}};any(i in xyz.get('a',{}) for i in ['b', 'c'])"
1000000 loops, best of 3: 0.932 usec per loop
:~$ python -m timeit "xyz = {'a':{'b':[1,2,3]}};bool({'b','c'}.intersection(xyz.get('a')))"
1000000 loops, best of 3: 0.649 usec per loop
</code></pre>
<p>但在这种情况下@abarnert的答案是最快的:</p>
<pre><code>~$ python -m timeit "xyz = {'a':{'b':[1,2,3]}};'b' in xyz.get('a', {}) or 'c' in xyz.get('a', {})"
1000000 loops, best of 3: 0.325 usec per loop
</code></pre>