c'è niente di sbagliato con la vostra lista-di comprensione, ma forse si vuole provare:
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']
Come notato da julio.alegria e Nathan Binkert lowercase
è una stringa di tutte le lettere minuscole e le stringhe Python sono iterabili.
Se avete bisogno di sottoinsiemi dell'alfabeto, ci sono modi piacevoli e divinatorio per farlo:
print lowercase.find('f')
5
print lowercase[5,9]
fghij
print filter(lambda c: ord('f') <= ord(c) <= ord('j'), lowercase)
fghij
Nel tentativo di dissuadere le persone dal rispondere con esso, sto andando per citare ['string.lowercase'] (http: //docs.python.o rg/library/string.html # string.lowercase) in un commento, ma funziona solo se si desidera l'intero alfabeto (** Modifica **: ... sigh) –
Sì, _string.lowercase_ potrebbe essere utilizzato, è anche una soluzione leggibile, ma funziona solo se si desidera l'intero alfabeto. Vorrei davvero poter fare qualcosa come _range ("a", "c") _ – Jeremy
Penso che questa soluzione sia davvero bella. Ma come è ora, va solo da 'a' a' y', 'ord ('z') + 1' dovrebbe risolvere il problema – juliomalegria