擅长:python、mysql、java
<p><code>functools.reduce</code>的替代方法是编写一个显式的<code>for</code>循环:</p>
<pre><code>def xor_reduce(args):
result = 0
for x in args:
result ^= x
return result
xor_reduce([1, 2, 3])
</code></pre>
<p>如果你想用<code>reduce</code>的方式(IMO,这不是很不合理),我会使用<code>operator</code>模块:</p>
^{pr2}$
<p><code>operator</code>模块(位于标准库中,因此应该始终可用)也将所有其他标准操作定义为函数,但是对于<code>or</code>和{<cd7>}添加了一个尾随的<code>_</code>,因为它们是保留关键字:</p>
<pre><code>from operator import or_, and_
reduce(or_, [1, 2, 3])
reduce(and_, [1, 2, 3])
</code></pre>
<p>尽管对于这两个,您可以使用内置函数<code>any</code>和{<cd10>}:</p>
^{4}$