Why can't I xor strings?

Andr? Roberge andre.roberge at ns.sympatico.ca
Wed Oct 13 12:20:54 EDT 2004


I suggest you have a look at the following:
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/252237

I believe it does what you want (and has little to do with the
follow-up discussion so far!)

Andre Roberge

dataangel <k04jg02 at kzoo.edu> wrote in message news:<mailman.4604.1097266756.5135.python-list at python.org>...
> I wrote a function to compare whether two strings are "similar" because 
> I'm using python to make a small text adventure engine and I want to it 
> to be responsive to slight mispellings, like "inevtory" and the like. To 
> save time the first thing my function does is check if I'm comparing an 
> empty vs. a non-empty string, because they are to be never considered 
> similar. Right now I have to write out the check like this:
> 
>     if str1 and str2:
>         if not str1 or not str2:
>             return 0
> 
> Because python won't let me do str1 ^ str2. Why does this only work for 
> numbers? Just treat empty strings as 0 and nonempty as 1.
> 
> Regardless of whether this is the best implementation for detecting if 
> two strings are similar, I don't see why xor for strings shouldn't be 
> supported. Am I missing something? Inparticular, I think it'd be cool to 
> have "xor" as opposed to "^". The carrot would return the resulting 
> value, while "xor" would act like and/or do and return the one that was 
> true (if any).



More information about the Python-list mailing list