logo

Python: inicialitza una matriu buida de longitud determinada

Com sabem Matriu és una col·lecció d'elements emmagatzemats en ubicacions de memòria contigües. En Python, a Llista ( Matriu dinàmic ) es pot tractar com una matriu. En aquest article, aprendrem a inicialitzar una matriu buida d'una mida determinada. Vegem diferents maneres Pythonic de crear una llista buida Python amb una mida determinada.

ordres de kali linux

Python: inicialitza una matriu buida d'una longitud determinada

A continuació, es mostren els mètodes per inicialitzar una matriu buida d'una longitud determinada en Python.

  • Utilitzant * Operator
  • Ús de la comprensió de llistes
  • Utilitzant For Loop
  • Utilitzant NumPy
  • Utilitzant el mètode repeat().

Mètode 1: inicialitzeu la matriu buida amb * Operator

En aquest exemple, estem creant diferents tipus de buits amb un operador asterisc (*).



Python 3
# initializes all the 10 spaces with 0’s a = [0] * 10 print('Intitialising empty list with zeros: ', a) # initializes all the 10 spaces with None b = [None] * 10 print('Intitialising empty list of None: ', b) # initializes a 4 by 3 array matrix all with 0's c = [[0] * 4] * 3 print('Intitialising 2D empty list of zeros: ', c) # empty list which is not null, it's just empty. d = [] print('Intitialising empty list of zeros: ', d)>

Sortida
Creating empty list contains zeros: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] Creating empty list of None: [None, None, None, None, None, None, None, None, None, None] Creating 2D empty list of zeros: [[0, 0,...>

Mètode 2: creeu una llista buida en Python amb una mida determinada mitjançant la comprensió de la llista

En aquest exemple, estem utilitzant Python Comprensió de llista per a matrius buides 1D i 2D.

Python 3
# initialize the spaces with 0’s with  # the help of list comprehensions a = [0 for x in range(10)] print(a) b = [[0] * 4 for i in range(3)] print(b)>

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

Mètode 3: creeu una llista buida d'una mida específica a Python mitjançant un bucle

En aquest exemple, estem utilitzant a Bucle Python per a matrius buides 1D i 2D.

Python 3
b= [] for x in range(5): b.append([[]]) print(b) c = [] for x in range(5): c.append(0) print(c)>

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

Mètode 4: inicialitza la matriu buida utilitzant Numpy

En aquest mètode, estem utilitzant el Mòdul Numpy per generar una matriu buida de mides 1D i 2D utilitzant np.empty() .

Python 3
import numpy # create a simple array with numpy empty() a = numpy.empty(5, dtype=object) print(a) # create multi-dim array by providing shape matrix = numpy.empty(shape=(2, 5), dtype='object') print(matrix)>

Sortida
[None None None None None] [[None None None None None] [None None None None None]]>

Mètode 5: inicialitzeu la matriu buida mitjançant el mètode repeat().

En aquest mètode, podem utilitzar la funció repeat() del mòdul itertools per crear un nou iterador que retorni el mateix valor un cert nombre de vegades. Això es pot utilitzar per crear una matriu buida d'una mida específica proporcionant un valor de Cap i la longitud desitjada.

Python 3
import itertools #Initialize empty array with length 10 filled with 0's a = list(itertools.repeat(0, 10)) print(a) #Initialize 2D empty array with 3 rows and 4 columns filled with 0's b = [list(itertools.repeat(0, 4)) for i in range(3)] print(b)>

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

Aquest mètode té una complexitat temporal de O(n) i un espai auxiliar de O(n) on n és la longitud desitjada de la matriu.

Referència: Llista en Python