top of page

Listas de tamaño N

Supongamos que queremos realizar una gráfica de ruido gausiano, para esto necesitamos 1000 valores   aleatorios que se optienen  de una distribución uniforme, o que queremos almacenar las medidas  que un sensor de temperatura toma cada 5 minutos durante todo el día. Es muy poco práctico colocar 1000 valores a mano, además en el segundo caso podríamos no saber cuántos espacios en memoria debemos reservar para guardar todas las muestras (por ejemplo en algún momento el sensor toma más muestras de las que se espera).

 

Para solucionar este problema necesitamos una asignación de espacio un poco más “dinámica”.                         

En python existe una función que nos permite agregar un elemento al final de una lista, esta función se llama append().Con esta función podemos agregar a una lista un elemento nuevo en el momento que queramos y también podemos hacer listas vacías ( o inicializadas en algún valor)  de cualquier tamaño que posteriormente podemos llenar con algún elemento.

 

Ejemplo 1:

#Lista vacía de n posiciones

n=10  # tamaño de la lista

Lista=[] #primero se crea una lista vacía

 

for i in range (n) :

    Lista.append( [] )  #se concatenan espacios vacíos es la lista

 

 

print (Lista) #se imprime la lista vacía

Lista[2]='usando espacio'  # se modifica el espacio "vacío" en la posición 2

print(Lista) #se imprime la lista luego de usar un espacio

#Salida           

>>[[], [], [], [], [], [], [], [], [], []]

>>[[], [], 'usando espacio', [], [], [], [], [], [], []]

 

En lugar de “append([])” que lo que hace es agregar espacios en blanco, pudimos usar “append(0)”

que llenara la lista con 0s, Asi

 

            #Lista inicializada en 0

            Lista=[]                                                   #primero se crea una lista vacía

            n=10                                                      # tamaño de la lista

            for i in range (n) :

                        Lista.append(0)                         #se concatenan 0s

 

            print (Lista)                                            #se imprime la lista con 0s

 

            #Salida

            >>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

 

La función append() es bastante flexible y se puede usar de muchas formas ,por ejemplo se podría usar append(random.randint( 0,10)) para darle valores iniciales aleatorios entre 0 y 10

 

Además de append() hay otra forma de agregar un valor a una lista, Veamos

 

#Lista vacía de n posiciones

 

            n=10                                                       # tamaño de la lista

            Lista=[]                                                   #primero se crea una lista vacía

                                                                                      

            for i in range (n) :

                   Lista=Lista+[0]                                #se concatenan 0s al final de la lista

            print (Lista)                                             #se imprime la lista antes de modificarla

            Lista=["al comienzo"]+Lista                   #agrega un elemento al comienzo de la lista

            Lista=Lista+["al final"]                            #agrega un elemento al final de la lista

            print (Lista)                                            #se imprime la lista luego de usar un espacio

 

            #Salida

            >>[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

            >>['al comienzo', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'al final']

 

De esta forma se da un poco más de flexibilidad, ya que podemos colocar valores al comienzo o al final de una lista

By:Informatica1-udea

bottom of page