Nie ma nic złego z listy-rozumienia, ale może chcesz spróbować:
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']
Jak zauważyli julio.alegria i Nathan Binkert lowercase
jest ciągiem wszystkich małych liter, a ciągi w języku Python to iterables.
Jeśli wymagają podzbiory alfabetu, są ładne i pythonic sposobów, aby to zrobić:
print lowercase.find('f')
5
print lowercase[5,9]
fghij
print filter(lambda c: ord('f') <= ord(c) <= ord('j'), lowercase)
fghij
W celu odwieść ludzi od odpowiedzi z nim, zamierzam wspomnieć o ['string.lowercase'] (http: //docs.python.o rg/library/string.html # string.lowercase) w komentarzu, ale działa tylko jeśli chcesz mieć cały alfabet (** Edit **: ... sigh) –
Tak, _string.lowercase_ może być użyty, to także czytelne rozwiązanie, ale działa tylko wtedy, gdy chcesz mieć cały alfabet. Naprawdę chciałbym móc zrobić coś takiego, jak _range ("a", "c") _ – Jeremy
Myślę, że to rozwiązanie jest naprawdę ładne. Ale tak jak teraz, po prostu przechodzi od 'a' do' y', 'ord ('z') + 1' powinno rozwiązać problem: – juliomalegria