Introduction aux tableaux multidimensionnels en Python

Souvent dans la vie quotidienne, nous avons des problèmes où nous devons stocker certaines données dans un format de table rectangulaire. Ces tableaux peuvent également être appelés matrice ou tableau 2D. En Python, les tableaux multidimensionnels peuvent être obtenus en ayant une liste à l'intérieur de la liste ou des listes imbriquées. La liste peut être utilisée pour représenter des données dans le format ci-dessous en python:

Liste = (1, 2, 3)

La liste peut être écrite avec des valeurs séparées par des virgules. La liste peut contenir des données telles que entier, flottant, chaîne, etc. et peut également être modifiée après sa création. L'indexation dans les listes est assez simple, l'index commençant à 0 et s'étendant jusqu'à toute la longueur de list-1.

Lorsqu'une liste contient d'autres listes en tant qu'éléments, elle forme une liste ou un tableau multidimensionnel. Par exemple:

Liste = ((1, 2), (2, 5), (5, 1))

Ici, chaque valeur de la liste est accessible en écrivant le nom de la liste suivi d'un crochet pour récupérer les valeurs de la liste externe comme ci-dessous:

Imprimer (Liste (1))

# (2, 5)

Si vous voulez aller plus loin dans la liste intérieure, ajoutez un crochet supplémentaire pour accéder à ses éléments comme ci-dessous:

Imprimer (Liste (1) (0))

# 2

De même, si nous avons plusieurs listes dans une liste comme:

Liste = ((1, 3, 5), (8, 5, 6), (7, 1, 6)) #peut également être considéré comme

| 1, 3, 5 |

| 8, 5, 6 |

| 7, 1, 6 |

Tous les éléments de la liste sont accessibles par les indices ci-dessous:

(0) (0), (0) (1), (0) (2) (1) (0), (1) (1), (1) (2) (2) (0), (2) (1), (2) (2)

Création d'une liste ou d'un tableau multidimensionnel

Supposons que nous ayons deux variables, le nombre de lignes «r» et le nombre de colonnes «c». donc pour faire une matrice de taille m * n, on peut faire comme:

Array = ( (0) * c ) * r ) # with each element value as 0

Ce type de déclaration ne créera pas m * n espaces en mémoire, mais un seul entier sera créé qui est référencé par chaque élément de la liste interne alors que les listes internes sont mises en tant qu'éléments dans la liste externe. Par conséquent, dans ce cas, si nous changeons un élément en 5, le tableau entier aura 5 comme valeurs à chaque place d'élément de la même colonne que ci-dessous:

Tableau (0) (0) = 5

| 5, 0, 0 |

| 5, 0, 0 |

| 5, 0, 0 |

Une autre façon de déclarer un tableau est d'utiliser un générateur avec une liste d'éléments «c» répétés «r» fois. La déclaration peut se faire comme ci-dessous:

c = 4
r = 3
Array = ( (0) * c for i in range(r) )

Ici, chaque élément est complètement indépendant des autres éléments de la liste. La liste (0) * c est construite r fois comme une nouvelle liste, et ici aucune copie des références ne se produit.

Comment entrer des valeurs dans des tableaux multidimensionnels?

Ici, nous supposons un tableau 2D avec r lignes et c colonnes pour lesquelles nous prendrons les valeurs des éléments de l'utilisateur.

# L'utilisateur entrera le nombre de lignes dans la première ligne

r = int(input())
arr = () for i in range(r):
arr.append((int(j) for j in input().split()))

Itération des valeurs d'un tableau multidimensionnel

Afin d'itérer à travers tous les éléments du tableau multidimensionnel, nous devons utiliser le concept imbriqué pour la boucle comme ci-dessous:

# au début, nous allons créer un tableau de colonnes c et r lignes

c = 4
r = 3
arr = ((0) * c for i in range(r)) # loop will run for the length of the outer list
for i in range(r):
# loop will run for the length of the inner lists
for j in range(c):
if i < j:
arr(i)(j) = 8
elif i > j:
arr(i)(j) = 4
else:
arr(i)(j) = 7
for r in arr:
print( ' '.join((str(x) for x in r) ) )

Tableaux multidimensionnels Numpy

Voyons les tableaux multimédias numpy en python:

Numpy est un package prédéfini en python utilisé pour effectuer de puissantes opérations mathématiques et prendre en charge un objet tableau à N dimensions. La classe de tableau de Numpy est connue sous le nom de «ndarray», qui est la clé de ce cadre. Les objets de cette classe sont appelés un tableau numpy. La différence entre la liste multidimensionnelle et les tableaux Numpy est que les tableaux Numpy sont homogènes, c'est-à-dire qu'ils peuvent contenir un seul entier, une chaîne, un flottant, etc., et que sa taille est fixe. La liste multidimensionnelle peut être facilement convertie en tableaux Numpy comme ci-dessous:

import numpy as nmp
arr = nmp.array( ( (1, 0), (6, 4) ) )
print(arr)

Ici, la liste multidimensionnelle donnée est convertie en tableau Numpy arr.

Création d'un tableau Numpy

import numpy as nmp
X = nmp.array( ( ( 1, 6, 7), ( 5, 9, 2) ) )
print(X) #Array of integers
X = nmp.array( ( ( 1, 6.2, 7), ( 5, 9, 2) ) )
print(X) #Array of floats
X = nmp.array( ( ( 1, 6, 7), ( 5, 9, 2) ), dtype = complex )
print(X) #Array of complex numbers

Production:

((1 6 7) (5 9 2)) ((1. 6.2 7.) (5. 9. 2.)) ((1. + 0.j 6. + 0.j 7. + 0.j) (5. + 0.j 9. + 0.j 2. + 0.j))

Accès aux éléments, lignes et colonnes de Numpy Matrix

Chaque élément du tableau Numpy est accessible de la même manière que dans la liste multidimensionnelle, c'est-à-dire le nom du tableau suivi de deux accolades carrées qui indiqueront à l'index de ligne et de colonne de choisir un élément spécifique.

Exemple:

import numpy as nmp
X = nmp.array( ( ( 1, 6, 7),
( 5, 9, 2),
( 3, 8, 4) ) )
print(X(1)(2)) # element at the given index ie 2
print(X(0)) # first row
print(X(1)) # second row
print(X(-1)) # last row
print(X(:, 0)) # first column
print(X(:, 2)) # third column
print(X(:, -1)) # last column

Production:

2

(1 6 7) (5 9 2) (3 8 4) (1 5 3) (7 2 4) (7 2 4)

Quelques propriétés de Numpy Array

Certaines propriétés de base des tableaux Numpy sont utilisées dans le programme ci-dessous:

import numpy as nmp
zero_array = nmp.zeros( (3, 2) )
print('zero_array = ', zero_array)
one_array = nmp.ones( (3, 2) )
print('one_array = ', one_array)
X = nmp.arange(9).reshape(3, 3)
print('X= ', X)
print('Transpose of X= ', X.transpose())

Production:
zero_array = ((0. 0.) (0. 0.) (0. 0.)) one_array = ((1. 1.) (1. 1.) (1. 1.)) X = ((0 1 2) (3 4 5) (6 7 8)) Transpose de X = ((0 3 6) (1 4 7) (2 5 8))

Conclusion

Les tableaux multidimensionnels en Python offrent la possibilité de stocker différents types de données dans un seul tableau (c'est-à-dire en cas de liste multidimensionnelle) avec chaque tableau interne d'élément capable de stocker des données indépendantes du reste du tableau avec sa propre longueur également connue sous le nom de tableau dentelé, impossible à réaliser en Java, C et dans d'autres langages.

Articles recommandés

Ceci est un guide des tableaux multidimensionnels en Python. Nous discutons ici de l'introduction aux tableaux multidimensionnels en Python, de la création d'une liste ou d'un tableau multidimensionnel, etc. Vous pouvez également parcourir nos autres articles suggérés pour en savoir plus–

  1. Tableaux dentelés C #
  2. Tableaux 3D en Java
  3. Qu'est-ce que TensorFlow?
  4. Qu'est-ce que NumPy?
  5. Pour boucle en PHP
  6. Tableaux 3D en C ++
  7. Tableaux en PHP
  8. Comment fonctionnent les tableaux et les listes en Python?
  9. Comment fonctionne Array sous Unix avec la syntaxe?