parece que alguma resposta pode precisar de atualização para python 3?
Charlie Parker
2
@CharlieParker Não, desde o início, tenho a certeza que a minha resposta iria trabalhar em Python 3, bem como Python 2, ao mesmo tempo, porque eu usei string.ascii_lowercase(disponível em ambos) e não string.lowercase(apenas em PY2)
@hkBst Parece que a diferença é que essas perguntas estão pedindo uma gama subconjunto de cartas, enquanto este solicita o alfabeto inteiro (o que torna a resposta mais específica)
No Python 3, use string.ascii_lowercase. Mas isso retorna uma string. No caso de você precisa de uma lista, eu acho, Bg1850 é uma solução elegante
peterb
Como a resposta superior menciona, string.ascii_letters, string.ascii_lowercase, string.ascii_uppercasetodo o trabalho em python 3+.
precisa saber é o seguinte
@peterblist(string.ascii_lowercase)
Braden Best
11
Aqui está uma implementação simples de intervalo de letras:
Código
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_)
Imprima os alfabetos Maiúsculas e Minúsculas em python usando uma função de intervalo integrada
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();
#!/usr/bin/python3
for i in range(97, 123):
print("{:c}".format(i), end='')
Portanto, 97 a 122 são o número ASCII equivalente a 'a' a e 'z'. Observe as letras minúsculas e a necessidade de colocar 123, pois elas não serão incluídas).
Na função de impressão, defina o {:c}formato (caractere) e, nesse caso, queremos que ele imprima tudo juntos, sem deixar uma nova linha no final, assim end=''como o trabalho.
string.ascii_lowercase
(disponível em ambos) e nãostring.lowercase
(apenas em PY2)Respostas:
Se você realmente precisa de uma lista:
E para fazer isso com
range
Outros
string
recursos úteis do módulo:fonte
string.ascii_lowercase[::-1]
map
não retorna umlist
fonte
string.ascii_lowercase
chrange = lambda s: "".join(map(chr, range(*map(ord, s))) + [c[1]])
. Uso:>>> chrange("az") -> 'abcdefghijklmnopqrstuvwxyz'
. Para obter uma lista, basta remover"".join( )
import string
é uma explicação longa?No Python 2.7 e 3, você pode usar isso:
Como o @Zaz diz:
string.lowercase
está obsoleto e não funciona mais no Python 3, masstring.ascii_lowercase
funciona nos doisfonte
string.ascii_letters
,string.ascii_lowercase
,string.ascii_uppercase
todo o trabalho em python 3+.list(string.ascii_lowercase)
Aqui está uma implementação simples de intervalo de letras:
Código
Demo
fonte
Se você procura um equivalente a
letters[1:10]
partir de R, pode usar:fonte
Imprima os alfabetos Maiúsculas e Minúsculas em python usando uma função de intervalo integrada
fonte
Esta é a maneira mais fácil de descobrir:
#!/usr/bin/python3 for i in range(97, 123): print("{:c}".format(i), end='')
Portanto, 97 a 122 são o número ASCII equivalente a 'a' a e 'z'. Observe as letras minúsculas e a necessidade de colocar 123, pois elas não serão incluídas).
Na função de impressão, defina o
{:c}
formato (caractere) e, nesse caso, queremos que ele imprima tudo juntos, sem deixar uma nova linha no final, assimend=''
como o trabalho.O resultado é este:
abcdefghijklmnopqrstuvwxyz
fonte