I noticed one small mistake in section 9:
d[keys] = values[i]
d[key] = values[i]
for i in range(len(input_list)): v = input_list[i] ...do something with v and i...
for i, v in enumerate(input_list): ...