es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Python cómo declarar dinámicamente (número de arreglos)

Quiero tomar un número entero como entrada y declarar tantos arreglos como ese número, con los nombres de arreglo empezando desde 0 hasta ese número. Por ejemplo:

Si ingreso el número 3, entonces en mi código debería haber:
arr1 = [] ,
arr2 = [] ,
arr3 = []

Intenté hacer esto, pero me da un error de sintaxis.

arr = []
no_of_arrays = int(input())
for i in range(no_of_arrays):
       arr{i} = []

Esto genera el siguiente error de sintaxis:

SyntaxError: invalid syntax
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para declarar ‘n’ número de arrays en Python y asignarles nombres únicos con el nombre inicial como ‘arr0’, puedes utilizar el siguiente código:

    n = int(input("Ingrese el número de arrays a crear: "))
    for i in range(n):
        globals()['arr{}'.format(i)] = []
    
    # Ejemplo de uso
    arr0.append(2)
    arr1.append(4)
    
    print(arr0)
    print(arr1)
    

    La función globals() se utiliza para crear variables con nombres dinámicos en Python. Al utilizar el formateo de cadenas, podemos generar el nombre único para cada variable de array utilizando el índice del bucle ‘i’.

    En el código anterior, primero tomamos la entrada del usuario para el número de arrays a crear. Luego iteramos sobre este número utilizando range(n) y generamos una nueva variable de array con un nombre único en cada iteración. Finalmente, podemos utilizar las variables de array según sea necesario en el resto del código.

    La salida para el ejemplo de uso anterior será:

    [2]
    [4]
    

Comments are closed.