[PYTHON] ¿Una lista no se puede meter dentro de si misma?

Iniciado por Yidu, 30 Marzo 2013, 21:11 PM

0 Miembros y 1 Visitante están viendo este tema.

Yidu

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 (python) [Seleccionar]
lista = [1,2,3,4,5]

lista.append (lista)

print lista


Y me arroja este resultado:

Código (python) [Seleccionar]
[1, 2, 3, 4, 5, [...]]

¿No debería haber sido?:

Código (python) [Seleccionar]
[1, 2, 3, 4, 5, [1,2,3,4,5]]

Es decir, lista dentro de lista  :huh:

RyogiShiki

#1
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 (python) [Seleccionar]
print(lista[5][0])
print(lista[5][1])
// ...
for item in lista[5]:
   print(item)


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


daryo

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 (python) [Seleccionar]

lista = [1,2,3,4,5]
lista.append (lista)

la lista queda asi:
Código (python) [Seleccionar]

[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
buenas

Yidu

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.