Question

In Python, could I simply ++ a char? What is an efficient way of doing this?

I want to iterate through URLs that have the www.website.com/term/#, www.website.com/term/a, www.website.com/term/b, www.website.com/term/c, www.website.com/term/d ... www.website.com/term/z format.

Was it helpful?

Solution

You can use string.ascii_lowercase which is simply a convenience string of lowercase letters,

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

OTHER TIPS

In addition to string.ascii_lowercase you should also take a look at the ord and chr built-ins. ord('a') will give you the ascii value for 'a' and chr(ord('a')) will give you back the string 'a'.

Using these you can increment and decrement through character codes and convert back and forth easily enough. ASCII table is always a good bookmark to have too.

shortest way

for c in list(map(chr,range(ord('a'),ord('z')+1))):
    do_something(base_url+c)

iterate function

def plusplus(oldChar):
     return chr(ord(oldChar)+1)
plusplus('a') # output - b

Another option

url=www.website.com/term
my_char=ord('a') # convert char to ascii
while my_char<= ord('z'):
   my_char+=1 # iterate over abc
   my_url=url+chr(my_char)  # convert ascii to char
   do_something(my_url)

Based on @Brian answer.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top