No hay nada malo en su lista de comprensión, pero tal vez usted quiere probar:
from string import lowercase
print lowercase
abcdefghijklmnopqrstuvwxyz
print list(lowercase)
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
Según lo observado por julio.alegria y Nathan Binkert lowercase
es una cadena de letras minúsculas y las cadenas de Python son iterables.
Si necesita subconjuntos del alfabeto, hay maneras agradables y Pythonic de hacer esto:
print lowercase.find('f')
5
print lowercase[5,9]
fghij
print filter(lambda c: ord('f') <= ord(c) <= ord('j'), lowercase)
fghij
En un esfuerzo por disuadir a la gente de responder con él, voy para mencionar ['string.lowercase'] (http: //docs.python.o rg/library/string.html # string.lowercase) en un comentario, pero solo funciona si quiere el alfabeto completo (** Edit **: ... suspiro) –
Sí, se puede usar _string.lowercase_, también una solución legible, pero solo funciona si quieres el alfabeto completo. Realmente me gustaría poder hacer algo como _range ("a", "c") _ – Jeremy
Creo que esta solución es realmente buena. Pero como es ahora, simplemente va de 'a' a 'y',' ord ('z') + 1' debería resolver el problema – juliomalegria