Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Yidu en 30 Marzo 2013, 21:11 pm



Título: [PYTHON] ¿Una lista no se puede meter dentro de si misma?
Publicado por: Yidu en 30 Marzo 2013, 21:11 pm
Estoy haciendo pruebas en el tema de objetos list (listas). Y no hay ningún problema cuando metemos en una lista otra lista. Pero claro, cuando la otra es diferente.

Se me ocurrió meter dentro de la lista creada, a ella misma. De esta forma:

Código
  1. lista = [1,2,3,4,5]
  2.  
  3. lista.append (lista)
  4.  
  5. print lista

Y me arroja este resultado:

Código
  1. [1, 2, 3, 4, 5, [...]]

¿No debería haber sido?:

Código
  1. [1, 2, 3, 4, 5, [1,2,3,4,5]]

Es decir, lista dentro de lista  :huh:


Título: Re: [PYTHON] ¿Una lista no se puede meter dentro de si misma?
Publicado por: RyogiShiki en 30 Marzo 2013, 23:28 pm
Esa es la representación de la lista. La lista crea una copia dentro de si misma. Una forma de comprobar esto es haciendo:

Código
  1. print(lista[5][0])
  2. print(lista[5][1])
  3. // ...
  4. for item in lista[5]:
  5.    print(item)

y veras que los elementos están en la lista que está dentro de la lista.


Título: Re: [PYTHON] ¿Una lista no se puede meter dentro de si misma?
Publicado por: daryo en 31 Marzo 2013, 17:17 pm
jeje yo de nuevo  ;D

lo que sucede es que cuando metes una lista dentro de si misma termina siendo una secuencia infinita me explico

Código
  1. lista = [1,2,3,4,5]
  2. lista.append (lista)
  3.  
la lista queda asi:
Código
  1. [1,2,3,4,5,[1,2,3,4,5,[1,2,3,4,5,[.....]]]]

por eso los puntos es infinita y por lo tanto no bastaria toda la pantalla para mostrarla recuerda que el ultimo valor de la lista es la misma lista y que el ultimo valor de la lista dentro de la lista tambien es la lista y asi infinitamente


Título: Re: [PYTHON] ¿Una lista no se puede meter dentro de si misma?
Publicado por: Yidu en 31 Marzo 2013, 20:45 pm
Bueno, ya me ido haciendo una idea del tema. Dejaré de hacer estas pruebas surrealistas y me centraré primero en lo básico del lenguaje. Que por cierto, es mas adictivo que un concierto de la Shakira...jajaja.