How do I iterate through the alphabet?

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.


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

Python 2 Example:

from string import ascii_lowercase

for c in ascii_lowercase:
    # append to your url

Python 3 Example:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from string import ascii_lowercase as alc
for i in alc:
    print(f"www.website.com/term/{i}")

# Result
# www.website.com/term/a
# www.website.com/term/b
# www.website.com/term/c
# ...
# www.website.com/term/x
# www.website.com/term/y
# www.website.com/term/z

Or if you want to keep nesting you can do like so:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
for i in alc:
    print(f"www.website.com/term/{i}")
    for j in alc:
        print(f"www.website.com/term/{i}{j}")

# Result
# www.website.com/term/a
# www.website.com/term/aa
# www.website.com/term/ab
# www.website.com/term/ac
# ...
# www.website.com/term/ax
# www.website.com/term/ay
# www.website.com/term/az
# www.website.com/term/b
# www.website.com/term/ba
# www.website.com/term/bb
# www.website.com/term/bc
# ...
# www.website.com/term/bx
# www.website.com/term/by
# www.website.com/term/bz
# www.website.com/term/c
# www.website.com/term/ca
# www.website.com/term/cb
# www.website.com/term/cc
# ...
# ...
# ...
# www.website.com/term/z
# www.website.com/term/za
# www.website.com/term/zb
# www.website.com/term/zc
# www.website.com/term/zd
# ...
# www.website.com/term/zx
# www.website.com/term/zy
# www.website.com/term/zz

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.