On 24 juin, 20:32, cirfu <circularf...@y ahoo.sewrote:
>if char in "ABCDEFGHIJKLMN OPQRSTUVWXYZabc defghijklmnopqr stuvwxyz":
>>
>cant i write something like:
>if char in "[A-Za-z]":
>>
>
Nope. But there are other solutions. Here are two:
>
# 1
import string
>
if char in string.letters:
print "yay"
>
# 2
import re
exp = re.compile(r'[A-Za-z]')
>
if exp.match(char) :
print "yay"
>
Let me post another one, and longer:
if ord(somechar) in range(ord('A'), ord('Z') + 1) + range(ord('a'),
ord('z') + 1):
...
Re: shorten this: if char in "ABCDEFGHI JKLMNOPQRSTUVWX YZabcdefghijklm nopqrstuvwxyz&q uot;:
On Jun 24, 5:36 pm, John Machin <sjmac...@lexic on.netwrote:
On Jun 25, 4:32 am, cirfu <circularf...@y ahoo.sewrote:
>
if char in "ABCDEFGHIJKLMN OPQRSTUVWXYZabc defghijklmnopqr stuvwxyz":
>
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.
Re: shorten this: if char in "ABCDEFGHI JKLMNOPQRSTUVWX YZabcdefghijklm nopqrstuvwxyz&q uot;:
On Jun 25, 9:06 am, s0s...@gmail.co m wrote:
On Jun 24, 5:36 pm, John Machin <sjmac...@lexic on.netwrote:
>
On Jun 25, 4:32 am, cirfu <circularf...@y ahoo.sewrote:
>
if char in "ABCDEFGHIJKLMN OPQRSTUVWXYZabc defghijklmnopqr stuvwxyz":
>
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?
Unless there is a Python implementation using EBCDIC, different
underlying character set that differs from ASCII in A..Z and a..z is
*not* a practical concern.
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.
You should be asking the OP what he really wants ... precisely those
letters? alphabetic, in what locale?
Comment