Array: Insertar con índice negativo

-1 no está insertando el “hola” en el último índice de la matriz

Si tengo una matriz, x:

>>> x = [1, 2, 3] then >>> x.insert(-1, "hello") >>> print(x) [1, 2, 'hello', 3] 

¿Por qué -1 no está insertando el “hola” en el último índice de la matriz? Como el índice -1 se refiere al último elemento de la lista, estaba esperando:

[1, 2, 3, “hola”]

La ejecución de la help en el método generalmente le dará la respuesta para este tipo de preguntas:

 help(list.insert) #Help on method_descriptor: # #insert(self, index, object, /) # Insert object before index. 

.append(item) es para agregar al final.

.insert(index, item) inserta en el lugar antes de otro elemento. Para “insertar” para finalizar, use .insert(len(x), item) .

Lea más en la documentación de Python .

Si desea agregar un elemento en la última función utilizando insert() , debe especificar la longitud total como índice. No se pueden utilizar índices negativos. Los índices negativos comenzarán a insertarse desde la segunda última posición y antes.

 x = [1, 2, 3] x.insert(len(x),'hello') x [1, 2, 3, 'hello'] 

De la documentación de Google: https://developers.google.com/edu/python/lists

list.insert (index, elem): inserta el elemento en el índice dado, desplazando los elementos a la derecha.

Insertar debe leerse como: “inserte elem antes del índice ” en su caso: “inserte ‘hola’ antes del -1 ‘elemento (el último elemento de la lista) que es 3”.

Para insertar al final de las listas debe usar list.append (elem) en su lugar.

list.append (elem): agrega un solo elemento al final de la lista.

Así que quieres agregar valor al final de la lista. Hay dos formas de añadir.

– Anexar: como su nombre lo indica, se agregará (agregará) valor al último de la lista

 >>> x = [1,2,3,4] >>> x.append('hello') >>> x [1, 2, 3, 4, 'hello'] 

– Insertar: ahora en Insertar, debe indicar la posición donde desea agregar el valor. así que cuando escribes

 >>> x.insert(len(x),5) >>> x [1, 2, 3, 4, 'hello', 5] 

Usted está definiendo como poner el valor 5 en la posición len (x), es decir, 5