Rearrange list by modifying the original list, put even-index values at front
I'm not sure if you are actually trying to solve this problem in-place, but based on what you have done, you could condense your code by using Python list slices instead of separating even and odd indices in a for loop. Slices work by 

list[start_index:end_index:step]


So, you could get the even indices with 

l[::2][::-1]


which gets the even indices in reverse order, and the odd indices by offsetting the start by 1,

l[1::2]


This works because a step size of 2 means you get every other #, so starting at 0 results in all even indices and starting at 1 results in all odd indices. Without the start index it starts at 0, and without the end index it goes until the end of the list.

This combines into a single line, assigning using slice notation to keep the modification in-place,

l[:] = l[::2][::-1] + l[1::2]