<p>您似乎正在测试您的集合是否是<em>子集</em>;可以使用<a href="https://docs.python.org/3/library/stdtypes.html#frozenset.issubset" rel="nofollow noreferrer">^{<cd1>} operator on the sets</a>执行此操作:</p>
<pre><code>>>> final[0], set1[2] # same
({'nya', 'read'}, {'nya', 'read'})
>>> final[0] <= set1[2]
True
>>> final[3], set1[1] # subset
({'pinglog', 'read'}, {'write', 'pinglog', 'read'})
>>> final[3] <= set1[1]
True
>>> final[4], set1[1] # subset
({'write', 'pinglog'}, {'write', 'pinglog', 'read'})
>>> final[4] <= set1[1]
True
</code></pre>
<p>使用<a href="https://docs.python.org/3/library/functions.html#any" rel="nofollow noreferrer">^{<cd2>} function</a>和<a href="https://docs.python.org/3/tutorial/classes.html#generator-expressions" rel="nofollow noreferrer">generator expression</a>对<code>set1</code>中的所有集合测试给定集合:</p>
<pre><code>for request in final:
if any(request <= s for s in set1):
print("OK")
else:
print("Access denied")
</code></pre>
<p>演示:</p>
<pre><code>>>> for request in final:
... if any(request <= s for s in set1):
... print("OK")
... else:
... print("Access denied")
...
OK
Access denied
Access denied
OK
OK
</code></pre>