shorten this: if char in "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz":

s0suk3 at s0suk3 at
Wed Jun 25 01:06:43 CEST 2008

On Jun 24, 5:36 pm, John Machin <sjmac... at> wrote:
> On Jun 25, 4:32 am, cirfu <circularf... at> wrote:
> > if char in "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz":
> > cant i write something like:
> > if char in "[A-Za-z]":
> You can write that if you want to, but it's equivalent to
>    if char in "zaZa]-[":
> i.e. it doesn't do what you want.
> This gives the same reuslt as your original code, unaffected by
> locale:
> if "A" <= char <= "Z" or "a" <= char <= "z":

But doesn't that rely on the underlying character set? It's like
performing math on C char's (maybe that's what the interpreter does
internally?). If that's the case, using 'char.isalpha()' or 'char in
string.letters' or regex's would be better.

More information about the Python-list mailing list