2010-06-01 7 views
27

Me pidieron que impidiera que esto sucediera en un programa de Python, pero francamente no tengo idea de cómo esto es posible. ¿Alguien puede dar un ejemplo de cómo puede cortar una lista e insertar algo en ella para agrandarla? GraciasPython: ¿Cómo se inserta en una lista cortando?

Respuesta

53
>>> a = [1,2,3] 
>>> a[:0] = [4] 
>>> a 
[4, 1, 2, 3] 

a[:0] es la "rebanada de lista a principio antes de cualquier elemento y terminando antes de índice 0", que es inicialmente una rodaja de vacío (ya que no hay elementos en la lista original antes de índice 0). Si lo configura como una lista no vacía, eso ampliará la lista original con esos elementos. También podría hacer lo mismo en cualquier otro lugar en la lista especificando una rebanada de anchura cero (o una rebanada de anchura no nula, si desea sustituir también los elementos existentes):

>>> a[1:1] = [6,7] 
>>> a 
[4, 6, 7, 1, 2, 3] 
+0

Interesante .. gracias por la respuesta rápida. – Sam

+0

@Sam, márquelo como respuesta si está satisfecho. – systemovich

+0

¡La sintaxis de listas increíblemente simple y lógica de Python continúa sorprendiéndome! – josh

0

Para evitar que esto suceda se puede subclasificar la lista incorporada y luego anular estos métodos para obtener más información. refiérase a here

Cuestiones relacionadas