I’m confused about the first for loop in this code. Let’s say the max_exponent is 3. Putting this in the range function gives us 0, 1, and 2. Does this for loop iterate through 0, 1 , and 2 - giving us 3 exponents and 3 indices? I’m not sure.

```
def radix_sort(to_be_sorted):
max_exponent = len(str(max(to_be_sorted)))
being_sorted = to_be_sorted[:]
for pass_through in range(max_exponent):
exponent = pass_through + 1
index = -exponent
digits = [[] for digit in range(10)]
for item in being_sorted:
item_as_a_string = str(item)
try:
digit_for_item = int(item_as_a_string[index])
except IndexError:
digit_for_item = 0
digits[digit_for_item].append(item)
being_sorted = []
for digit in digits:
being_sorted.extend(digit)
return being_sorted
```