Операция b = a не копирует список, а просто после нее две переменных указывают на один и тот же объект (это можно проверить с помощью оператора is: выражение a is b вернет True, т.е. объекты совпадают). После реверса в обеих переменных видим один и тот же инвертированный список.
Если нужно получить инвертированную копию списка в другой переменной, то можно воспользоваться функцией reversed():
>>> a = [1,2,3,4,5]
>>> b = list(reversed(a))
>>> b
[5, 4, 3, 2, 1]
>>> a
[1, 2, 3, 4, 5]
Вызов list() нужен для того, чтобы итератор, возвращенный функцией reversed() превратить в список.
b = list(a)(есть еще модульcopy, который на такое заточен) – gil9red Sep 10 '17 at 20:45