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.

Cómo escribir una lista 2D con números crecientes utilizando un bucle for

Puedo escribir una lista bidimensional utilizando bucles for con el mismo valor dentro, así:

lista = [[0 for x in range(4)] for y in range(4)]

y obtengo el resultado:

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

Pero, ¿cómo puedo escribir algo similar para obtener un resultado incrementando los números?

El resultado debería ser algo como:

[[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11], [12, 13, 14, 15]]

¡Gracias!

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para crear una lista bidimensional con números incrementales, puedes usar una variable para representar el valor inicial e incrementarlo en cada iteración de los bucles for. Aquí tienes un ejemplo de código:

    start_num = 0
    list_2d = [[start_num + j + i*4 for j in range(4)] for i in range(4)]
    print(list_2d)
    

    En este código, la variable start_num se inicializa como 0. La variable list_2d se crea utilizando bucles for anidados. El bucle externo itera de 0 a 3 (inclusive) y representa el índice de fila de la lista bidimensional. El bucle interno itera de 0 a 3 (inclusive) y representa el índice de columna de la lista bidimensional. Para cada elemento de la lista bidimensional, el valor se calcula como start_num + j + i*4. Aquí, j representa el índice de columna actual e i representa el índice de fila actual. Dado que hay 4 columnas en cada fila, multiplicamos i por 4 para incrementar el valor de la fila. Por último, se imprime la variable list_2d para mostrar el resultado:

    [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11], [12, 13, 14, 15]]
    

    Esto crea una lista bidimensional con valores que comienzan en 0 e incrementan secuencialmente hasta 15.

Comments are closed.