Se stai chiedendo informazioni numpy.logical_or, allora no, come dicono esplicitamente i documenti, gli unici parametri sono x1, x2, e facoltativamente out:
numpy.logical_or( x1, x2[, out]) =<ufunc 'logical_or'>
Ovviamente puoi concatenare più logical_orchiamate in questo modo:
>>> x = np.array([True, True, False, False])
>>> y = np.array([True, False, True, False])
>>> z = np.array([False, False, False, False])
>>> np.logical_or(np.logical_or(x, y), z)
array([ True, True, True, False], dtype=bool)
Il modo per generalizzare questo tipo di concatenamento in NumPy è con reduce:
>>> np.logical_or.reduce((x, y, z))
array([ True, True, True, False], dtype=bool)
E naturalmente questo funziona anche se si dispone di un array multi-dimensionale, invece di array, anzi separati, è così che è destinata ad essere utilizzati:
>>> xyz = np.array((x, y, z))
>>> xyz
array([[ True, True, False, False],
[ True, False, True, False],
[False, False, False, False]], dtype=bool)
>>> np.logical_or.reduce(xyz)
array([ True, True, True, False], dtype=bool)
Ma una tupla di tre array 1D di uguale lunghezza è un array_like in termini di NumPy e può essere usata come array 2D.
Al di fuori di NumPy, puoi anche usare Python reduce:
>>> functools.reduce(np.logical_or, (x, y, z))
array([ True, True, True, False], dtype=bool)
Tuttavia, a differenza di NumPy reduce, spesso non è necessario Python. Per la maggior parte dei casi, c'è un modo più semplice per fare le cose, ad esempio per concatenare più oroperatori Python , non reducefinire operator.or_, usa e basta any. E quando non c'è , di solito è più leggibile usare un ciclo esplicito.
E infatti NumPy anypuò essere utilizzato anche in questo caso, sebbene non sia così banale; se non gli dai esplicitamente un asse, ti ritroverai con uno scalare invece di un array. Così:
>>> np.any((x, y, z), axis=0)
array([ True, True, True, False], dtype=bool)
Come ci si potrebbe aspettare, logical_andè simile: puoi concatenarlo, np.reduceesso, functools.reduceesso o sostituirlo allcon un esplicito axis.
E le altre operazioni, come logical_xor? Ancora una volta, stesso affare ... tranne che in questo caso non esiste una funzione all/ any-type che si applica. (Come lo chiameresti odd??)
any()?