擅长:python、mysql、java
<blockquote>
<p>"Is it possible to redefine the equal operator for tuples"</p>
</blockquote>
<p>差不多吧。不能在基本<code>tuple</code>类型上执行此操作,但可以在子类上执行此操作:</p>
<pre><code> class MyTuple(tuple):
def __eq__(self, other):
orig_eq = super(MyTuple, self).__eq__(other)
if orig_eq and orig_eq is not NotImplemented:
return True
else:
return super(MyTuple, self).__eq__(other[::-1])
</code></pre>
<p>一般来说,这可能不是最好的方法。根据问题的限制条件,您可以尝试一组冻结集:</p>
^{pr2}$
<p>这里的优点是,如果您对同一数据执行多个成员身份测试,您可能会获得更好的运行时间(列表中的每个成员身份测试都是<code>O(N)</code>,您需要为每个要检查的项执行最多两个,而您只需要一个<code>O(N)</code>步骤来构建<code>f1_set</code>,然后每个成员资格测试都是<code>O(1)</code>)。在</p>