missing 'xor' Boolean operator
Wayne Brehaut
wbrehaut at mcsnet.ca
Wed Jul 15 18:54:00 EDT 2009
On Tue, 14 Jul 2009 11:47:41 -0700 (PDT), Mark Dickinson
<dickinsm at gmail.com> wrote:
>On Jul 14, 7:25 pm, "Dr. Phillip M. Feldman" <pfeld... at verizon.net>
>wrote:
>> Current Boolean operators are 'and', 'or', and 'not'. It would be nice to
>> have an 'xor' operator as well.
>
>Hmm. I don't think 'nice' is sufficient. You'd need to make the case
>that it's sufficiently useful to justify adding a new keyword 'xor' to
>the language; I suspect that would be an uphill struggle. :)
=== 8< ===
And for the objects for which it *is* sufficiently useful (sets) the
xor operator ^ is available:
>>> cheese = set(['cheddar', 'limburger', 'stilton'])
>>> stinky = set(['skunk', 'limburger', 'stilton', 'polecat', 'doggy-doo', 'civet'])
>>> nasty = set(['doggy-doo', 'polecat', 'limburger', 'Perl'])
>>> cheese & stinky # stinky cheese
set(['limburger', 'stilton'])
>>> cheese ^ stinky # either cheese or stinky but not both
set(['doggy-doo', 'civet', 'polecat', 'skunk', 'cheddar'])
>>> cheese ^ stinky ^ nasty # in an odd number of these sets (1 or 3)
set(['civet', 'cheddar', 'Perl', 'limburger', 'skunk'])
wayne
More information about the Python-list
mailing list