> > However, also note > > that with ndarray's rich comparisons, such membership testing will > > fail with ndarrays, too. > > This poses a similarly big problem. I can't understand this behaviour > either:
OK, I can now. After equality testing each item, the result must be cast to bool. This is where the truth-testing comes in. Testing array membership in lists does work, just so long as there are no numerical objects in the list. Any/only equality comparisons which return another (bool) ndarray will cause the exception. Thus, the error is not triggered in PyYAML. FWIW, I don't like the policy of forbidding truth testing on bare arrays. I'd prefer that ndarray.__nonzero__() implicitly call ndarray.all(). For my use-cases, this is what I want >90% of the time. Where any() is required, this must be made explicit. However, I understand the logic behind raising an exception and presumably others prefer this. Ultimately, I'm forced to conclude that the idea that membership testing should always succeed was bogus. Bummer. BC _______________________________________________ Numpy-discussion mailing list [email protected] http://projects.scipy.org/mailman/listinfo/numpy-discussion
