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
range
Otras
string
características útiles del módulo:fuente
string.ascii_lowercase[::-1]
map
no devuelve unlist
fuente
string.ascii_lowercase
chrange = lambda s: "".join(map(chr, range(*map(ord, s))) + [c[1]])
. Uso:>>> chrange("az") -> 'abcdefghijklmnopqrstuvwxyz'
. Para obtener una lista, simplemente elimine"".join( )
import string
es una larga explicación?En Python 2.7 y 3 puedes usar esto:
Como dice @Zaz:
string.lowercase
está en desuso y ya no funciona en Python 3, perostring.ascii_lowercase
funciona en ambosfuente
string.ascii_letters
,string.ascii_lowercase
,string.ascii_uppercase
todo 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:
abcdefghijklmnopqrstuvwxyz
fuente