I think you're confused about the dict notation. It's

d = {key:value, key:value, ...}

Since you already have alternating keys and values in your list, you could do something like:

d = {}
for i in xrange(len(my_list)/2):
key = my_list[i*2]
value = my_list[i*2 + 1]
d[key] = value

if you want to use integers in your dict, instead of the strings in your list, simply do for example:

...
key = int(my_list[i*2])
...

I know there are clever (and probably much more efficient) ways of performing operations on entire lists, but this is simple and readable.

Of course, I have no idea why you'd want or need a dict indexed by successive integers, that's what a list gets you for free! But it's your problem-domain, so good luck and happy coding!

dict([(list[i], list[i+1]) for i in range(0, len(list), 2)])

function dict takes a list of tuples for arguments and uses the first term of the tuple as key and the second as value
If you need more explanations, don't hesitate to ask.

If you understand what I presented previously, then it should be a simple matter to create one loop and access the correct element from each list. jice's input is excellent too, as it removes the division and multiplication.

If you don't understand basic loop flow-control, you should consider getting an introductory programming book for Python (or your choice of other programming language). If you have specific questions other than "tell me how to do this", please feel free to ask.