Corriger l'erreur Too Many Indices for Array en Python
Les tableaux ou les listes et les tuples sont des structures de données contiguës en Python. Ils peuvent stocker des éléments appartenant à un seul type de données et à plusieurs types de données ensemble. Par exemple, nous pouvons avoir une liste, un tableau ou un tuple contenant cinq éléments entiers, trois nombres à virgule flottante, sept objets de classe, deux ensembles et huit valeurs booléennes.
Pour accéder à ces éléments, nous pouvons utiliser les index de ces éléments. Ces structures de données sont basées sur l’index 0. Supposons que nous essayons d’accéder à un élément à un index supérieur ou égal à la longueur de la structure de données. Dans ce cas, nous rencontrons l’exception IndexError
.
Dans cet article, nous allons apprendre à résoudre ce problème en Python.
Comment résoudre l’erreur too many indices for array
en Python ?
Pour corriger l’exception IndexError
, il faut s’assurer qu’ils n’entrent pas un index égal ou supérieur à la longueur de la structure de données.
L’approche mentionnée ci-dessus est évidente. Cependant, nous pouvons toujours écrire un stub ou une fonction utilitaire pour récupérer une valeur dans une liste ou un tuple. Cette fonction garantira que nous obtenons la valeur d’un index s’il existe et gère en toute sécurité les valeurs d’index non valides. Reportez-vous au code Python suivant pour la même chose.
def get_value(structure, index):
if not isinstance(index, int):
return None
if not isinstance(structure, (list, tuple)):
return None
if index >= len(structure):
return None
return structure[index]
a = ["Hello", "World", 1, 2.0, 3.00000, True, False]
print(get_value([], 4.0))
print(get_value(a, 4))
print(get_value(a, -1))
print(get_value(None, 8))
print(get_value("Hello World", "Python"))
Production :
None
3.0
False
None
None
Avant de retourner la valeur à l’index spécifié, la fonction stub ci-dessus s’assure que l’index est de type int
, que la structure de données est de type list
ou tuple
, et que l’index est inférieur à la longueur de la structure de données. Une fois que toutes les vérifications sont passées, nous pouvons retourner en toute sécurité la valeur requise à l’index.
Une implémentation plus simple de la fonction get_value()
consisterait à utiliser les blocs try
et except
. Reportez-vous au code Python suivant pour la même chose.
def get_value(structure, index):
try:
return structure[index]
except:
return None
a = ["Hello", "World", 1, 2.0, 3.00000, True, False]
print(get_value([], 4.0))
print(get_value(a, 4))
print(get_value(a, -1))
print(get_value(None, 8))
print(get_value("Hello World", "Python"))
Production :
None
3.0
False
None
None
Les blocs try
et except
renverraient None
si quelque chose ne va pas et une valeur réelle si toutes les conditions requises sont remplies avec succès.
Article connexe - Python Error
- Correction de TabError en Python
- Correction de l'erreur Python Return Outside Function
- Correction de l'erreur String Must Be Indices en Python
- Correction de l'erreur syntaxerror: unexpected character after line continuation character en Python
- Correction de l'erreur TypeError: iteration over a 0-d array dans Python NumPy
- Correction de l'erreur TypeError: must be str, not int en Python