Why does this "[::-1]" return a reversed list in Python?

list, python, reverse

Solution

There is no difference between `[:]` and `[::]`.

But `[::-1]` does something else: it has a negative step parameter. The absence of the start and stop parameters means the complete array. The negative step parameter means that data is taken in reverse order, from the end to the start.

Problem

Possible Duplicate: Good Primer for Python Slice Notation reverse a string in Python I've seen this syntax crop up in a few code snippets I've seen lately, and I'm curious as to what it does. If I have `my_list = [1,2,3,4,5]`, and I execute `my_list[::-1]`, I'm given a list with the elements reversed `[5,4,3,2,1]`. Could someone please explain to me what this actually does, and show the difference between `[:]` notation and `[::]`? Or at least refer me to a resource that does. I'm sure if I had a good Python book it would be in there, but I don't. And it's impossible to search Google for something like this since the `[::]` gets ignored. Thanks!

Original source

Related problems