[::-1] en Python con ejemplos

⚡ Resumen inteligente

[::-1] en Python es una potente expresión de segmentación que invierte cualquier tipo de secuencia. Lessons cubre los fundamentos de la indexación, los parámetros de las secciones, la diferencia entre a[-1] y a[::-1], la inversión de listas y ejemplos resueltos.

  • 🔁 Reverse Rebanada: [::-1] utiliza inicio vacío, parada vacía, paso -1.
  • 📍 Indexación: Los índices positivos comienzan en cero; los negativos se cuentan desde el final.
  • 🆚 [-1] vs [::-1]: [-1] devuelve el último elemento; [::-1] devuelve toda la secuencia invertida.
  • 📋 Listas y cadenas de caracteres: Funciona con cualquier iterable indexado, incluyendo listas, cadenas, tuplas y bytes.
  • ⚡ Rápido y idiomático: Implementado en C, mucho más rápido que Python bucles
  • 🤖 Ayuda de fragmentos de IA: Las herramientas de IA explican los parámetros de las secciones y convierten los bucles en secciones.

Python Rebanada Reverse

¿Qué es [::-1] en Python?

Python tiene muchas sintaxis y aplicaciones diferentes cuando se trata de utilizar 1. Podría representarse como [-1], o también puede describirse como [::-1].

Los corchetes en la notación anterior generalmente especifican más de un elemento en la lista. Cuando se utilizan corchetes, se especifican varios elementos o un solo elemento en la lista.

Siempre que un programador define [::-1], sugiere que el programa debe recorrer de principio a fin en una lista determinada. Puede realizar indexación en Python, lo que ayuda a dividir y fragmentar una secuencia iterable, como una lista o cadena.

¿Cuál es el tipo de [::-1] en Python?

Hay dos formas de representar 1 en Python como se describe a continuación: –

  • Se puede representar con un simple corchete sin dos puntos y con otro método con sintaxis de dos puntos.
  • Una secuencia iterable, como una lista o una cadena, se puede analizar hasta el nivel de elemento utilizando corchetes [].
  • Dentro de los corchetes [] se deben proporcionar diferentes índices.

A continuación se muestra la sintaxis de la lista como se muestra a continuación:

Sintaxis: –

SEQUENCE [START: STOP: STEP]

La sintaxis anterior es una representación general. La sintaxis para corchetes sin dos puntos se representa de la siguiente manera:

Sintaxis: –

SEQUENCE [-1]

La sintaxis para corchetes con dos puntos se representa de la siguiente manera:

Sintaxis: –

SEQUENCE[::-1]

Explicación: -

  • El parámetro de inicio representa el número de índice de inicio.
  • El parámetro de parada representa el final o el último número de índice.
  • El paso de parámetro es un parámetro opcional que proporciona un incremento para una selección. En la sintaxis, el recuento de pasos se inicializa como -1.
  • Una secuencia podría ser una cadena, una lista o un diccionario en la sintaxis anterior.

Diferencia entre a[-1] y a[::-1] en Python

Se utiliza un [-1] para índices negativos y ayuda a seleccionar elementos en orden inverso en una lista determinada. Significa el comienzo de la lista desde el final del orden inverso. Aquí, [-1] significa el primer elemento desde la última posición. El siguiente es un ejemplo que explica el uso de A[-1]

Ejemplo: -

Python Code:

b= [7,4,5,6]
print ("The list is", b)
print (" The last element in the list is", b [-1])

Salida:

The list is [7, 4, 5, 6]
The last element in the list is 6

A[::-1] y A[-1] parecen similares en términos de ejecución pero son diferentes en términos de sintaxis. La primera sintaxis tiene tres parámetros, mientras que la última sintaxis tiene un solo parámetro.

Los dos primeros parámetros presentes en A[::-1] representan el inicio y la parada de una lista. Si se omiten los parámetros de inicio y parada, devuelve todos los elementos de la lista.

Este último parámetro muestra la salida en orden inverso. Este parámetro es opcional.

El siguiente es un ejemplo que explica el uso de A[::-1]

Ejemplo: -

Python Code:

b= [7,4,5,6]
print ("The list is", b)
print (" The reversed list as determined is", b [::-1])

Salida:

The list is [7, 4, 5, 6]
The reversed list as determined is [6, 5, 4, 7]

Explicación:

Lo anterior Python El código no produce los mismos resultados para la lista creada. En cambio, proporciona una lista inversa para la lista base proporcionada como valor de entrada.

La diferencia anterior depende de Pythonreglas de indexación.

Cómo realizar la indexación en Python?

Para acceder a un elemento en una lista iterable de Python, es necesario realizar una indexación en la lista o utilizar un índice aplicado con la posición del elemento presente en la lista.

Python realiza una indexación de base cero para las listas. En el caso de la indexación de base cero, al primer elemento de la lista se le asigna la posición 0.

Tomemos un ejemplo e intentemos acceder al principio y al segundo elemento de una lista de Python.

Ejemplo: -

Python Code:

b= [7,4,5,6]
print ("The list is", b)
print (" The reverse ordered list as determined is", b [::-1])
print (" The second item found in list is", b [1])
print (" The first or beginning item in the list is", b [0])

Salida:

The list is [7, 4, 5, 6]
The reverse ordered list as determined is [6, 5, 4, 7]
The second found item in the list is 4
The first or beginning item in the list is 7

Explicación:

Como se ve en el código anterior, para acceder al primer elemento de la lista, se aplicó 0 como índice dentro del cuadrado del tipo de lista. De manera similar, se aplicó 1 como índice dentro del cuadrado del tipo de lista para acceder al segundo elemento de la lista. La indexación de la lista también puede aplicarse a diccionarios, cadenas y tuplas.

Tomemos un ejemplo de indexación de tipo de cadena en Python.

Ejemplo:

Python Code:

b= "GURU99"
print ("The list is", b)
print (" The reverse ordered list as determined is", b [::-1])
print (" The second item found in list is", b [1])
print (" The first or beginning item in the list is", b [0])

Salida:

The list is GURU99
The reverse ordered list as determined is 99URUG
The second item found in the list is U
The first or beginning item in the list is G

Explicación:

Como se ve arriba, la salida comparte el primer y segundo elemento de la cadena “GURU99”. Una cadena debe inicializarse utilizando comillas dobles. Python También nos permite realizar indexación negativa de listas, cadenas o diccionarios iterables.

Al proporcionar un índice negativo, se puede acceder tanto al último como al penúltimo elemento de la lista. Tomemos un ejemplo de indexación negativa de una cadena, como se muestra a continuación.

Ejemplo: -

Python Code:

b= "GURU99"
print ("The list is", b)
print (" The reverse ordered list as determined is", b [::-1])
print (" The second item found in list is", b [-2])
print (" The first or beginning item in the list is", b [-1])

Salida:

The list is GURU99
The reverse ordered list as determined is 99URUG
The second item found in the list is 9
The first or beginning item in the list is 9

La indexación devuelve un elemento; el seccionamiento devuelve un rango.

Papel del corte en Python

En palabras más simples, una rebanada significa cortar algo. Permite dividir una lista en python.

Aquí, ¿qué importancia tiene el corte en Python:

  • Permite el acceso a elementos específicos de una lista iterable o una cadena.
  • También ayuda a eliminar y modificar la cadena o una lista.
  • Hace que la secuencia iterable sea concisa y legible.
  • Nos permite acceder a múltiples elementos en comparación con un solo elemento bajo el concepto de indexación.
  • Utiliza índices para adquirir rangos de artículos específicos en la secuencia iterable.
  • Los índices en Python siempre tienen base cero, ya sea cortando o indexando sobre una secuencia iterable.

El corte se puede lograr de dos formas básicas.

  • La primera forma es proporcionar parámetros de índice de inicio y parada de una secuencia. Al hacerlo, la secuencia devolvería todos los elementos posibles entre el inicio de la secuencia y la parada [final -1] de la secuencia.
  • El segundo método consiste en proporcionar los parámetros de índice de inicio y parada de la secuencia junto con el paso. Un paso permite la devolución de artículos específicos o seleccionados dentro de un rango de artículos entre el inicio y la finalización.

A continuación se muestra la sintaxis para la primera forma de segmentación:

Sintaxis:

SEQUENCE [START: STOP]

A continuación se muestra la sintaxis para la segunda forma de segmentación:

Sintaxis:

SEQUENCE [START: STOP: STEP]

Tomemos el ejemplo de la primera forma de corte como se muestra a continuación.

Ejemplo

Python Code:

b= "GURU99"
print ("The list is", b)
Substring=b[0:3]
print (" The substring in the list is", Substring)

Salida:

The list is GURU99
The substring in the list is GUR

Tomemos el ejemplo de la segunda forma de corte como se muestra a continuación.

Ejemplo

Python Code:

b= "GURU99"
print ("The list is", b)
Substring=b[0:9:2]
print (" The substring in the list is", Substring)

Salida:

The list is GURU99
The substring in the list is GR9

Python también realiza un corte negativo para una secuencia iterable. Le permite acceder a una variedad de elementos o elementos desde el final de la secuencia.

Tomemos un ejemplo para acceder a los últimos tres elementos de la secuencia como se muestra a continuación.

Ejemplo

Python Code:

b= "GURU99"
print ("The list is", b)
Substring=b[-5:-1]
print (" The substring in the list is", Substring)

Salida:

The list is GURU99
The substring in the list is URU9

Cómo revertir una Python lista usando [::-1] en Python?

La división negativa y la indexación negativa se pueden aplicar para invertir una cadena o lista en Python. Tomemos una cadena llamada "GURU99" para ilustrar un ejemplo.

Ejemplo

Python Code:

b= "GURU99"
print ("The list is", b)
Substring=b[::-1]
print (" The reverse of string GURU99 is", Substring)

Salida:

The list is GURU99
The substring in the list is 99URUG

Explicación:

Aquí, el código recupera todos los elementos de cadena desde la última posición. Comienza con -1 y recupera todos los elementos o elementos de la última posición. La línea de código anterior le dice a Python que retroceda desde el último elemento y avance al primer elemento, lo que da como resultado una lista inversa o una cadena.

Ejemplo de [::-1] en Python

Se puede emplear el seccionamiento o la indexación paratracuna lista más pequeña de una lista más extensa. De manera similar, se puede utilizar paratracuna subcadena de una cadena más larga.

Veamos un ejemplo de cómo usar 1 en Python para...tracuna lista más pequeña de una lista más grande:

Ejemplo

Python Code:

b = [1, 2, 3, 4, 5, 6, 7]
slist = b[1::]
print("the smaller list from larger list is:",slist)

Salida:

the smaller list from the larger list is: [2, 3, 4, 5, 6, 7]

Explicación:

En el código anterior, dejando el primer índice, python extracts todos los elementos a partir de la posición 2 de la lista y crea una lista más pequeña. Esto sucede porque Python utiliza la indexación cero al asignar índices a las posiciones de los elementos listados.

Preguntas Frecuentes

Es una porción sin inicio ni fin, con un paso de -1. Devuelve una nueva secuencia con todos los elementos en orden inverso.

Los asistentes de IA como Copilot y ChatGPT explican los parámetros de inicio, parada y paso, y convierten los bucles for extensos en expresiones de segmentación concisas.

Sí. Las herramientas de IA recomiendan list(reversed(seq)) cuando la legibilidad supera la brevedad, y explican las ventajas y desventajas en cuanto a tiempo y memoria de cada una.

a[-1] devuelve solo el último elemento. a[::-1] devuelve toda la secuencia invertida.

Sí. Funciona con cualquier tipo de secuencia, incluyendo listas, cadenas, tuplas, bytes y matrices de bytes. La secuencia devuelta conserva su tipo original.

El segmentado suele ser más rápido porque se ejecuta en C y devuelve un objeto completo. La función reversed() devuelve un iterador perezoso que optimiza el uso de la memoria, pero es más lento.

No. La segmentación devuelve una nueva secuencia. La lista, cadena o tupla original permanece intacta. Utilice `list.reverse()` para invertir listas directamente en el objeto.

Sí. NumPy admite la misma sintaxis de segmentación, devolviendo una vista invertida en lugar de una copia. Utilice .copy() si necesita un array independiente.

Resumir este post con: