Parece que alguna respuesta podría necesitar actualización para Python 3?
Charlie Parker
2
@CharlieParker No, desde el principio me aseguré de que mi respuesta funcionaría en Python 3 y Python 2 al mismo tiempo, porque utilicé string.ascii_lowercase(disponible en ambos) y no string.lowercase(solo en py2)
@hkBst Parece que la diferencia es que esas preguntas piden un subconjunto de letras, mientras que esta solicita el alfabeto completo (lo que hace que la respuesta sea más específica)
En Python 3, use string.ascii_lowercase. Pero esto devuelve una cadena. En caso de que necesite una lista, creo que Bg1850 es una solución ordenada
peterb
Como la respuesta menciona arriba, string.ascii_letters, string.ascii_lowercase, string.ascii_uppercasetodo el trabajo en pitón 3+.
SlimPDX
@peterblist(string.ascii_lowercase)
Braden Best
11
Aquí hay una implementación simple de rango 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 los alfabetos en mayúsculas y minúsculas en Python usando una función de rango incorporada
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='')
Entonces, 97 a 122 son el número ASCII equivalente a 'a' a y 'z'. Observe las minúsculas y la necesidad de poner 123, ya que no se incluirá).
En la función de impresión, asegúrese de establecer el {:c}formato (de caracteres) y, en este caso, queremos que lo imprima todo junto sin siquiera dejar una nueva línea al final, por end=''lo que haría el trabajo.
string.ascii_lowercase(disponible en ambos) y nostring.lowercase(solo en py2)Respuestas:
Si realmente necesitas una lista:
Y para hacerlo con
rangeOtras
stringcaracterísticas útiles del módulo:fuente
string.ascii_lowercase[::-1]mapno devuelve unlistfuente
string.ascii_lowercasechrange = lambda s: "".join(map(chr, range(*map(ord, s))) + [c[1]]). Uso:>>> chrange("az") -> 'abcdefghijklmnopqrstuvwxyz'. Para obtener una lista, simplemente elimine"".join( )import stringes una larga explicación?En Python 2.7 y 3 puedes usar esto:
Como dice @Zaz:
string.lowercaseestá en desuso y ya no funciona en Python 3, perostring.ascii_lowercasefunciona en ambosfuente
string.ascii_letters,string.ascii_lowercase,string.ascii_uppercasetodo el trabajo en pitón 3+.list(string.ascii_lowercase)Aquí hay una implementación simple de rango de letras:
Código
Manifestación
fuente
Si está buscando un equivalente de
letters[1:10]R, puede usar:fuente
Imprima los alfabetos en mayúsculas y minúsculas en Python usando una función de rango incorporada
fuente
Esta es la forma más fácil que puedo entender:
#!/usr/bin/python3 for i in range(97, 123): print("{:c}".format(i), end='')Entonces, 97 a 122 son el número ASCII equivalente a 'a' a y 'z'. Observe las minúsculas y la necesidad de poner 123, ya que no se incluirá).
En la función de impresión, asegúrese de establecer el
{:c}formato (de caracteres) y, en este caso, queremos que lo imprima todo junto sin siquiera dejar una nueva línea al final, porend=''lo que haría el trabajo.El resultado es este:
abcdefghijklmnopqrstuvwxyzfuente