Skip to content

Dans NumPy, vous pouvez utiliser la constante intégrée Python E𝐥‌𝐥‌𝐢‌𝐩‌𝐬‌𝐢‌𝐬‌ (représentée par trois points, ) entre [] pour omettre de définir les dimensions intermédiaires d’un tableau ( 𝐧‌𝐝‌𝐚‌𝐫‌𝐫‌𝐚‌𝐲‌ ).

Pour plus d’informations sur la manière de définir si des éléments doivent être omis lors de la sortie de 𝐧‌𝐝‌𝐚‌𝐫‌𝐫‌𝐚‌𝐲‌ avec 𝐩‌𝐫‌𝐢‌𝐧‌𝐭‌() , reportez-vous à l’article suivant.

Constante intégrée Python E𝐥‌𝐥‌𝐢‌𝐩‌𝐬‌𝐢‌𝐬‌ (trois points, )

En Python, E𝐥‌𝐥‌𝐢‌𝐩‌𝐬‌𝐢‌𝐬‌ est défini comme une constante intégrée.

print(Ellipsis) # Ellipsis 

E𝐥‌𝐥‌𝐢‌𝐩‌𝐬‌𝐢‌𝐬‌ peut également être représenté par , composé de trois points.

print(...) # Ellipsis 

E𝐥‌𝐥‌𝐢‌𝐩‌𝐬‌𝐢‌𝐬‌ et sont le même objet 𝐞‌𝐥‌𝐥‌𝐢‌𝐩‌𝐬‌𝐢‌𝐬‌ .

print(type(Ellipsis)) # <class 'ellipsis'> print(type(...)) # <class 'ellipsis'> print(Ellipsis is ...) # True 

Depuis Python 3.12, E𝐥‌𝐥‌𝐢‌𝐩‌𝐬‌𝐢‌𝐬‌ ( ) n’a pas de rôle spécifique dans la syntaxe de base, mais NumPy offre une application pratique, comme démontré ci-dessous.

E𝐥‌𝐥‌𝐢‌𝐩‌𝐬‌𝐢‌𝐬‌ ( ) dans NumPy

Dans NumPy, E𝐥‌𝐥‌𝐢‌𝐩‌𝐬‌𝐢‌𝐬‌ ( ) vous permet d’omettre les dimensions intermédiaires de la spécification d’une plage d’un tableau ( 𝐧‌𝐝‌𝐚‌𝐫‌𝐫‌𝐚‌𝐲‌ ) avec [] .

Considérez le tableau à quatre dimensions suivant comme exemple.

import numpy as np print(np.__version__) # 1.26.1 a = np.arange(120).reshape(2, 3, 4, 5) print(a.shape) # (2, 3, 4, 5) 

Par exemple, pour matérialiser uniquement la dernière dimension, vous pouvez l’écrire en utilisant : comme ci-dessous.

print(a[:, :, :, 0]) # [[[ 0 5 10 15] # [ 20 25 30 35] # [ 40 45 50 55]] #  # [[ 60 65 70 75] # [ 80 85 90 95] # [100 105 110 115]]] 

En utilisant , on peut l’écrire comme suit.

print(a[..., 0]) # [[[ 0 5 10 15] # [ 20 25 30 35] # [ 40 45 50 55]] #  # [[ 60 65 70 75] # [ 80 85 90 95] # [100 105 110 115]]] 

Il en va de même lorsque vous spécifiez uniquement la première et la dernière dimension. Les dimensions intermédiaires peuvent être omises avec .

print(a[0, :, :, 0]) # [[ 0 5 10 15] # [20 25 30 35] # [40 45 50 55]] print(a[0, ..., 0]) # [[ 0 5 10 15] # [20 25 30 35] # [40 45 50 55]] 

Vous pouvez également utiliser E𝐥‌𝐥‌𝐢‌𝐩‌𝐬‌𝐢‌𝐬‌ au lieu de .

print(a[Ellipsis, 0]) # [[[ 0 5 10 15] # [ 20 25 30 35] # [ 40 45 50 55]] #  # [[ 60 65 70 75] # [ 80 85 90 95] # [100 105 110 115]]] print(a[0, Ellipsis, 0]) # [[ 0 5 10 15] # [20 25 30 35] # [40 45 50 55]] 

Dans un exemple à quatre dimensions, la différence entre l’utilisation de : et de … est minime. Cependant, devient plus pratique pour les tableaux de plus grande dimension. Alors que : nécessite de faire correspondre le nombre de dimensions, n’a pas cette exigence.

L’utilisation de deux ou plusieurs crée une ambiguïté quant à l’endroit à omettre et entraîne une erreur.

# print(a[..., 0, ...]) # IndexError: an index can only have a single ellipsis ('...') 

Si : est utilisé pour chaque dimension jusqu’à la dernière, il peut être entièrement omis. Dans de tels cas, il n’est pas nécessaire d’utiliser , bien que son inclusion n’entraîne pas d’erreur.

print(a[0, 0, :, :]) # [[ 0 1 2 3 4] # [ 5 6 7 8 9] # [10 11 12 13 14] # [15 16 17 18 19]] print(a[0, 0]) # [[ 0 1 2 3 4] # [ 5 6 7 8 9] # [10 11 12 13 14] # [15 16 17 18 19]] print(a[0, 0, ...]) # [[ 0 1 2 3 4] # [ 5 6 7 8 9] # [10 11 12 13 14] # [15 16 17 18 19]]