2012-06-22 45 views
8

Duplicar posible:
Good Primer for Python Slice Notation
reverse a string in Python¿Por qué este "[:: - 1]" devuelve una lista invertida en Python?

que he visto este cultivo sintaxis en unos pocos fragmentos de código que he visto últimamente, y estoy curioso en cuanto a lo lo hace. Si tengo my_list = [1,2,3,4,5], y ejecuto my_list[::-1], me dan una lista con los elementos invertidos [5,4,3,2,1]. ¿Podría alguien explicarme qué es lo que realmente hace y mostrar la diferencia entre la notación [:] y [::]? O al menos remítame a un recurso que sí lo haga.

Estoy seguro de que si tuviera un buen libro de Python estaría allí, pero no es así. Y es imposible buscar en Google algo así porque se ignora el [::]. ¡Gracias!

+2

hay muchas publicaciones sobre esto ... Una vez pregunté sobre lo mismo y me dijeron que buscara ... y encontré un grupo que lo explicaba. – Levon

+1

[Este por ejemplo] (http://stackoverflow.com/questions/509211/ good -primer-for-python-slice-notation) and [this one] (http://stackoverflow.com/questions/766141/ reverse-a-string-in-python? lq = 1) – Levon

+1

¡Gracias, Levon! Eso es exactamente lo que estaba buscando. –

Respuesta

22

No hay diferencia entre [:] y [::].

Pero [::-1] hace algo más: tiene un parámetro de paso negativo. La ausencia de los parámetros de inicio y parada significa la matriz completa. El parámetro de paso negativo significa que los datos se toman en orden inverso, desde el final hasta el inicio.

+0

@pawan kumar Gracias por su edición. Pero la pregunta a la que se vinculó ya está vinculada en la parte superior de la pregunta. – glglgl

Cuestiones relacionadas