Como faço para iterar no alfabeto?


86

Em Python, eu poderia simplesmente ++ um char? Qual é uma maneira eficiente de fazer isso?

Desejo iterar por meio de URLs que têm www.website.com/term/#, www.website.com/term/a, www.website.com/term/b, www.website.com/term/c, www formato .website.com / term / d ... www.website.com/term/z.


4
Existem 308.915.776 (26 ^ 6) maneiras de montar sequências de seis letras a partir de quaisquer letras - apenas para você estar ciente se progredir além de escrever apenas uma letra.
Patashu

Respostas:


144

Você pode usar o string.ascii_lowercaseque é simplesmente uma string conveniente de letras minúsculas,

>>> from string import ascii_lowercase
>>> for c in ascii_lowercase:
...     # append to your url

8
Para referência, string.ascii_lowercasefornece'abcdefghijklmnopqrstuvwxyz'
whla 01 de

27

Além de string.ascii_lowercasevocê também deve dar uma olhada no orde chrembutidos. ord('a')fornecerá o valor ascii para 'a'e chr(ord('a'))devolverá a string 'a'.

Usando isso, você pode aumentar e diminuir por meio de códigos de caracteres e converter para frente e para trás com bastante facilidade. A tabela ASCII é sempre um bom marcador para ter também.


Além disso, se você tiver feito isso man, poderá obter a tabela ASCII via man ascii.
gluk47 de

1
Atenção aqui, chr (x) retornará o tipo de string.
Peiti Li
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.