wydaje się, że jakaś odpowiedź może wymagać aktualizacji dla Pythona 3?
Charlie Parker,
2
@CharlieParker Nie, od samego początku upewniłem się, że moja odpowiedź będzie działać w Pythonie 3 i Pythonie 2 w tym samym czasie, ponieważ użyłem string.ascii_lowercase(dostępne na obu) i nie string.lowercase(tylko na py2)
@ hkBst Wydaje się, że różnica polega na tym, że pytania te wymagają podzestawu liter, podczas gdy ten wymaga całego alfabetu (co czyni odpowiedź bardziej szczegółową)
W Pythonie 3 użyj string.ascii_lowercase. Ale to zwraca ciąg. Jeśli potrzebujesz listy, myślę, że Bg1850 to fajne rozwiązanie
peterb
Jako górny odpowiedź wspomina, string.ascii_letters, string.ascii_lowercase, string.ascii_uppercasewszystkie prace w Pythonie 3+.
SlimPDX,
@peterblist(string.ascii_lowercase)
Braden Best
11
Oto prosta implementacja zakresu liter:
Kod
def letter_range(start, stop="{", step=1):"""Yield a range of lowercase letters."""for ord_ in range(ord(start.lower()), ord(stop.lower()), step):yield chr(ord_)
Drukuj wielkie i małe litery alfabetu w pythonie za pomocą wbudowanej funkcji zakresu
def upperCaseAlphabets():print("Upper Case Alphabets")for i in range(65,91):print(chr(i), end=" ")print()def lowerCaseAlphabets():print("Lower Case Alphabets")for i in range(97,123):print(chr(i), end=" ")
upperCaseAlphabets();
lowerCaseAlphabets();
Oto najprostszy sposób, w jaki mogę dowiedzieć się:
#!/usr/bin/python3
for i in range(97, 123):
print("{:c}".format(i), end='')
Zatem od 97 do 122 to liczba ASCII równoważna „a” do i „z”. Zwróć uwagę na małe litery i konieczność wstawienia 123, ponieważ nie zostanie uwzględnione).
W funkcji drukowania upewnij się, że ustawiłeś {:c}format (znakowy), a w tym przypadku chcemy, aby wydrukował wszystko razem, nie pozwalając nawet na nowy wiersz na końcu, więc end=''wykona to zadanie.
Rezultat jest następujący:
abcdefghijklmnopqrstuvwxyz
string.ascii_lowercase
(dostępne na obu) i niestring.lowercase
(tylko na py2)Odpowiedzi:
Jeśli naprawdę potrzebujesz listy:
I zrobić to z
range
Inne przydatne
string
funkcje modułu:źródło
string.ascii_lowercase[::-1]
map
nie zwraca alist
źródło
string.ascii_lowercase
chrange = lambda s: "".join(map(chr, range(*map(ord, s))) + [c[1]])
. Zastosowanie:>>> chrange("az") -> 'abcdefghijklmnopqrstuvwxyz'
. Aby wyświetlić listę, po prostu usuń"".join( )
import string
to długie wyjaśnienie?W Pythonie 2.7 i 3 możesz użyć tego:
Jak mówi @Zaz:
string.lowercase
jest przestarzałe i nie działa już w Pythonie 3, alestring.ascii_lowercase
działa w obuźródło
string.ascii_letters
,string.ascii_lowercase
,string.ascii_uppercase
wszystkie prace w Pythonie 3+.list(string.ascii_lowercase)
Oto prosta implementacja zakresu liter:
Kod
Próbny
źródło
Jeśli szukasz odpowiednika
letters[1:10]
z R, możesz użyć:źródło
Drukuj wielkie i małe litery alfabetu w pythonie za pomocą wbudowanej funkcji zakresu
źródło
Oto najprostszy sposób, w jaki mogę dowiedzieć się:
#!/usr/bin/python3 for i in range(97, 123): print("{:c}".format(i), end='')
Zatem od 97 do 122 to liczba ASCII równoważna „a” do i „z”. Zwróć uwagę na małe litery i konieczność wstawienia 123, ponieważ nie zostanie uwzględnione).
W funkcji drukowania upewnij się, że ustawiłeś
{:c}
format (znakowy), a w tym przypadku chcemy, aby wydrukował wszystko razem, nie pozwalając nawet na nowy wiersz na końcu, więcend=''
wykona to zadanie.Rezultat jest następujący:
abcdefghijklmnopqrstuvwxyz
źródło