Mostrar Arrays Dentro De Otro Arrays


Objetivo: Mostrar Arrays Dentro De Otro Arrays
Hola!.

Estaba haciendo una practica con listas en Python y se me ocurrió (si es que no lo he hecho antes).
Como mostrar un array que contiene otros arrays,dentro otro, etc,etc.

Tenemos este array (lista):

[1, 2, 3, [4, 5, [6, 7, [8, 9, 10]]]]

Y queremos mostrar uno a uno los elementos que lo componen. He uso el tipo Variant ya que parece
ideal para este tipo de problemas.

Y recursividad...cuanto me gusta la recursividad..cuanto me gusta la recursividad..

Public Sub Main()

Dim lista As Variant[] = [1, 2, 3, [4, 5, [6, 7, [8, 9, 10]]]]
Dim elemento As Variant

For Each elemento In lista
If TypeOf(elemento) = gb.Object Then
MostrarElemento(elemento)
Else
Print elemento
Endif
Next

End

Public Sub MostrarElemento(t As Variant)

Dim elemento As Variant

For Each elemento In t
If TypeOf(elemento) = gb.Object Then
MostrarElemento(elemento)
Else
Print elemento
Endif
Next

End


La salida fue correcta, mostró los números del 1 al 10.

Os adjunto el código para que lo ejecutéis y lo podéis modificar para comentar. ¿ Se puede mejorar ?. Tengo que verlo con mas detenimiento.
A lo mejor estoy repitiendo código. No encontraba una constante que diga es un array, así que uso objeto que es un array.

Saludos


ArraydeArrays2.tar.gz
Descripción:  
Descargar
Nombre del archivo: ArraydeArrays2.tar.gz
Tamaño: 4.31 KB
Descargado: 32 veces
ArraydeArrays2.tar.gz
Descripción:  
Descargar
Nombre del archivo: ArraydeArrays2.tar.gz
Tamaño: 4.31 KB
Descargado: 32 veces
ArraydeArrays2.tar.gz
Descripción:  
Descargar
Nombre del archivo: ArraydeArrays2.tar.gz
Tamaño: 4.31 KB
Descargado: 32 veces

Objetivo: Re: Mostrar Arrays Dentro De Otro Arrays
Recursividad perfecta. Lástima que no siempre sea hacer print y ya está...


Perfil MP  
Objetivo: Re: Mostrar Arrays Dentro De Otro Arrays
Naturalmente. No todo es hacer print y ya está..

Sin esta instrucción no tendríamos la posibilidad de depurar una aplicación en un punto determinado.
Prácticamente este ejemplo primero lo aprendí a hacerlo en Python y luego lo hice para Gambas.

# Mostrar contenido de listas anidadas

t = [1,2,3,[4,5,[6,7,[8,9,10]]]]

def show_item(l):
for item in l:
if type(item) == type([]):
show_item(item)
else:
print (item)

for item in t:
if type(item) == type([]):
show_item(item)
else:
print (item)


La comparación de los tipos es creativa. Aunque haya una instrucción concreta para saber el tipo directamente.
Cuando comenzamos a aprender Python la depuración no es tan fácil como en gambas. Al menos hasta donde
he aprendido.

Aprendemos a depurar la aplicación con otras técnicas. No es que sean nuevas, pero aprendes a saber donde buscar,
donde se puede crear un posible error. ( Que es una pregunta habitual a la hora de crear una aplicación)

Por ejemplo. Imagina que tienes un archivo de texto y lees cada linea que comienza por una palabra, son las que te interesa.
Dentro de esa frase hay un lugar concreto que quieres mostrar ( el día de la semana que se recibe un correo ).
Vas convirtiendo cada linea a un array y muestras un elemento concreto, pero....llega un momento en el que una de las
lineas que lees te da error, diciendo que no existe tal elemento en el array.

En el caso de Python, el error (traceback error, lo llaman) te da el número de linea donde se produce el error.
Lo primero es colocar un "Print" antes de la instrucción que produce el error. Se lee cada linea y vamos viendo el
contenido que tiene el array (lista) en ese instante. "Comprobamos que el error es producido por una linea en blanco".
dando un array vacío.

La acción de colocar este print en ese lugar concreto se le llama añadir un "guardian code".
Sin print no podríamos detectar errores como este.

Print mola!.

Es una parte de nuestra aplicación, no el total de esta. A menos que sea una aplicación pequeña.
Una vez tengamos lo principal, funciones, procedimientos, va siendo hora de crear una aplicación interactiva.

Saludos

Objetivo: Re: Mostrar Arrays Dentro De Otro Arrays
Shell escribió: [Ver mensaje]

Prácticamente este ejemplo primero lo aprendí a hacerlo en Python


......besame muuuuchooo !
20140310_64698_99_379222_000002h

última edición por vuott el Sabado, 06 Diciembre 2014, 17:18; editado 1 vez
Perfil MP  
Objetivo: Re: Mostrar Arrays Dentro De Otro Arrays
Vuott:

Vaya gusto tienen algunas mujeres..
Parece una cobra. Si le arrancan los colmillos, normal que se atreva.

Saludos

Objetivo: Re: Mostrar Arrays Dentro De Otro Arrays
No te apures Shell, lo que molesta a Vuott es que las pitones comen ranas...

Perfil MP  
Objetivo: Re: Mostrar Arrays Dentro De Otro Arrays
shordi escribió: [Ver mensaje]
No te apures Shell, lo que molesta a Vuott es que las pitones comen ranas...


...sì, es asì: no es porque las chicas besan a Python, sino por las ranas.... maldito lenguaje !

última edición por vuott el Sabado, 06 Diciembre 2014, 19:29; editado 1 vez
Perfil MP  
Objetivo: Re: Mostrar Arrays Dentro De Otro Arrays
Además de las ranas..
Lo que le da envidia a Vuott es que haya tanta foto de tía buena con una Python.

Por cierto, habías visto esto ?.

http://www.pyladies.com/

Citar:

We are an international mentorship group with a focus on helping more women become active participants and leaders in the Python open-source community. Our mission is to promote, educate and advance a diverse Python community through outreach, education, conferences, events and social gatherings.

PyLadies also aims to provide a friendly support network for women and a bridge to the larger Python world. Anyone with an interest in Python is encouraged to participate!


http://pythoniza.me/entrevista-con-las-pyladies-barcelona/

Fijaros, este es un gambero que quería promocionar gambas entre las féminas.
La verdad es que no se nota que es un tío, pero nada de nada eh ?.

6340e

Saludos

Objetivo: Re: Mostrar Arrays Dentro De Otro Arrays
Shell escribió: [Ver mensaje]

Fijaros, este es un gambero que quería promocionar gambas entre las féminas.
La verdad es que no se nota que es un tío, pero nada de nada eh ?.

6340e


...ahééééé ! Es como dispararse a las pelotas !

Perfil MP  
Objetivo: Re: Mostrar Arrays Dentro De Otro Arrays
vuott escribió: [Ver mensaje]

...ahééééé ! Es como dispararse a las pelotas !




Si es que con ese cara era imposible hacer creer que fuese una gambera.
En fin, a ver si con un tutorial se arregla la cosa...y "algo" de retoque fotográfico.


Saludos


Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.4683s (PHP: -76% SQL: 176%)
Consultas SQL: 49 - Debug off - GZIP Activado