Python Programming

Création de tableaux 2D en Python

Spread the love

Les tableaux à deux dimensions, ou matrices, sont des structures de données fondamentales en programmation, particulièrement cruciales pour des tâches telles que le traitement d’images, l’algèbre linéaire et le développement de jeux. Bien que Python ne possède pas de type de tableau 2D intégré comme certains langages (par exemple, C++), il offre plusieurs manières efficaces et élégantes de les créer et de les manipuler. Cet article explore trois approches populaires : les compréhensions de liste, les boucles imbriquées et la puissante bibliothèque NumPy.

Table des matières

Méthode des compréhensions de liste

Les compréhensions de liste offrent un moyen concis et pythonique de créer des tableaux 2D, particulièrement utile lors de l’initialisation avec des valeurs générées à partir de formules ou de motifs. Elles utilisent des compréhensions de liste imbriquées, la boucle externe gérant les lignes et la boucle interne gérant les colonnes.


# Tableau 3x4 rempli de zéros
rows = 3
cols = 4
array_2d = [[0 for _ in range(cols)] for _ in range(rows)]
print(array_2d)  # Sortie : [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

# Tableau 3x3 avec des valeurs basées sur les indices de ligne et de colonne
array_2d = [[i + j for j in range(3)] for i in range(3)]
print(array_2d)  # Sortie : [[0, 1, 2], [1, 2, 3], [2, 3, 4]]

# Tableau 2x2 avec des nombres aléatoires (nécessite l'importation de random)
import random
array_2d = [[random.randint(1,10) for _ in range(2)] for _ in range(2)]
print(array_2d) # Sortie : (Exemple) [[7, 2], [9, 5]]

Méthode des boucles imbriquées

Cette approche utilise des boucles for imbriquées avec range, itérant sur les lignes et les colonnes pour construire le tableau élément par élément. Elle est plus verbeuse que les compréhensions de liste, mais peut être plus facile à comprendre pour les débutants.


rows = 3
cols = 4

array_2d = []
for i in range(rows):
    row = []
    for j in range(cols):
        row.append(0)  # Ou toute autre valeur d'initialisation
    array_2d.append(row)

print(array_2d)  # Sortie : [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

rows = 3
cols = 3
array_2d = []
for i in range(rows):
    row = []
    for j in range(cols):
        row.append(i*cols + j) #Exemple de remplissage avec des nombres séquentiels
    array_2d.append(row)
print(array_2d) # Sortie: [[0, 1, 2], [3, 4, 5], [6, 7, 8]]

Tableaux NumPy

NumPy est une bibliothèque puissante pour le calcul numérique en Python. Sa fonction numpy.array() permet la création et la manipulation efficaces de tableaux multidimensionnels. Les tableaux NumPy offrent des performances significativement plus rapides que les listes Python pour les opérations numériques.


import numpy as np

# Tableau 3x4 rempli de zéros
array_2d = np.zeros((3, 4))
print(array_2d)

# Tableau 3x3 rempli de uns
array_2d = np.ones((3, 3))
print(array_2d)

# Tableau 2x2 rempli d'une valeur spécifique
array_2d = np.full((2, 2), 7)
print(array_2d)

# Matrice identité 3x3
array_2d = np.eye(3)
print(array_2d)

# Tableau 2x3 avec des nombres aléatoires entre 0 et 1
array_2d = np.random.rand(2, 3)
print(array_2d)

# Tableau 2x2 avec des entiers aléatoires entre 1 et 10
array_2d = np.random.randint(1, 11, size=(2,2))
print(array_2d)

NumPy offre diverses fonctions pour initialiser des tableaux avec différentes valeurs et motifs, ce qui en fait le choix privilégié pour les calculs numériques impliquant des tableaux 2D. N’oubliez pas d’importer numpy as np avant d’utiliser ces fonctions.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *