Question: What is typically regarded as more Pythonic/better/faster to use, the reverse method or the reversed built-in function? 

Both in action:

```
_list = list(xrange(4))

print _list

rlist = list(reversed(_list))

print rlist

_list.reverse()

print _list

```

Answer: 
* \_list.reverse() does an in-place reversal and does not return a value
* reversed(\_list) does not change \_list, but returns a reverse iterable
object
* \_list[::-1] does not change \_list, but returns reversed slice

example:

```
_list = [1,2,3]
ret1 = list(reversed(_list))
ret2 = _list[::-1] #reverse order slice
ret3 = _list.reverse() #no value set in ret3
print('ret1,ret2,ret3,_list:',ret1,ret2,ret3,_list)

_list = [1,2,3]
for x in reversed(_list):
    print(x)

```

output:

```
ret1,ret2,ret3,_list: [3, 2, 1] [3, 2, 1] None [3, 2, 1]
3
2
1

```
It is always better to use reversed() if eventually you are going to modify the list in iterator making list immutable and working with immutable data is always better especially when your doing functional programming.