Python | Creación de array de n*n

Muchas veces, mientras trabajamos con números en ciencia de datos, nos encontramos con el problema en el que necesitamos trabajar con ciencia de datos, necesitamos transformar un número en una array de números consecutivos y, por lo tanto, este problema tiene una buena aplicación. Analicemos ciertas formas en que se puede resolver este problema.

Método n.º 1: uso de la comprensión de listas
La comprensión de listas se puede utilizar para realizar esta tarea en particular mediante el uso de la función de rango para cada lista que se debe construir consecutivamente.

# Python3 code to demonstrate
# matrix creation of n * n
# using list comprehension
  
# initializing N
N = 4
  
# printing dimension
print("The dimension : " + str(N))
  
# using list comprehension
# matrix creation of n * n
res = [list(range(1 + N * i, 1 + N * (i + 1)))
                            for i in range(N)]
  
# print result
print("The created matrix of N * N: " + str(res))
Producción :

The dimension : 4
The created matrix of N*N: [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]

Método n.° 2: Usarnext() + itertools.count()
la función de conteo se puede usar para iniciar el conteo de números y la siguiente función realiza la tarea de creación de sublistas consecutivamente. La comprensión de listas maneja el procesamiento.

# Python3 code to demonstrate
# matrix creation of n * n
# using next() + itertools.count()
import itertools
  
# initializing N
N = 4
  
# printing dimension
print("The dimension : " + str(N))
  
# using next() + itertools.count()
# matrix creation of n * n
temp = itertools.count(1) 
res = [[next(temp) for i in range(N)] for i in range(N)]
  
# print result
print("The created matrix of N * N: " + str(res))
Producción :

The dimension : 4
The created matrix of N*N: [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *