On Mon, Jan 18, 2010 at 2:18 PM, Warren Weckesser <[email protected]> wrote: > Ernest Adrogué wrote: >> Hi, >> >> This is hard to explain. In this code: >> >> reduce(np.logical_or, [m1 & m2, m1 & m3, m2 & m3]) >> >> where m1, m2 and m3 are boolean arrays, I'm trying to figure >> out an expression that works with an arbitrary number of >> arrays, not just 3. Any idea?? >> >> > > If I understand the problem correctly, you want the result to be True > whenever any pair of the corresponding elements of the arrays are True. > > This could work: > > reduce(np.add, [m.astype(int) for m in mlist]) > 1 > > where mlist is a list of the boolean array (e.g. mlist = [m1, m2, m3] in > your example).
much nicer than what I came up with. Does iterator instead of intermediate list work (same for my list comprehension)? reduce(np.add, (m.astype(int) for m in mlist)) > 1 Josef > > Warren >> Bye. >> _______________________________________________ >> NumPy-Discussion mailing list >> [email protected] >> http://mail.scipy.org/mailman/listinfo/numpy-discussion >> > > _______________________________________________ > NumPy-Discussion mailing list > [email protected] > http://mail.scipy.org/mailman/listinfo/numpy-discussion > _______________________________________________ NumPy-Discussion mailing list [email protected] http://mail.scipy.org/mailman/listinfo/numpy-discussion
