Maison  >  Article  >  développement back-end  >  Comment résoudre l'erreur de taille d'affectation de tuple de Python ?

Comment résoudre l'erreur de taille d'affectation de tuple de Python ?

王林
王林original
2023-06-24 15:43:521579parcourir

Python est un langage de programmation de haut niveau et il est très courant d'utiliser des tuples lors de l'écriture de programmes. Les tuples sont des séquences immuables qui peuvent être utilisées pour stocker plusieurs valeurs.

Bien que les tuples soient très courants dans le monde de la programmation Python, ils présentent également des problèmes communs. L'un d'eux est l'erreur de taille d'affectation de tuple, c'est-à-dire que lors de l'attribution, les tailles de tuple sur les côtés gauche et droit sont incohérentes.

Lorsqu'une erreur de taille d'affectation de tuple se produit, Python renvoie une TypeError. Cette erreur est généralement générée pendant l'exécution du code, provoquant le blocage du programme.

Afin de résoudre de tels problèmes, voici quelques solutions courantes :

1. Vérifiez la taille du tuple

Lorsque vous utilisez des tuples, vous devez vous assurer que les tailles des tuples gauche et droit sont cohérentes. Si vous ne parvenez pas à déterminer la taille des tuples, vous pouvez utiliser la fonction len() pour obtenir leur taille.

Par exemple, si vous devez attribuer un tuple contenant trois éléments à une autre variable de tuple contenant quatre éléments, une erreur de taille d'affectation de tuple se produira.

t1 = (1,2,3)
t2 = (4,5,6,7)
t1 = t2 #TypeError : impossible de décompresser un objet int non itérable

Pour résoudre ce problème, nous pouvons obtenir le tuple en taille pour obtenir l’élément correct pour l’affectation.

t1 = (1, 2, 3)
t2 = (4, 5, 6, 7)
if len(t1) == len(t2):

t1 = t2
print(t1)

else:

print('元组大小不一致!')

2.

En Python, nous pouvons utiliser l'opérateur astérisque * pour résoudre le problème de la mauvaise taille d'affectation de tuple. Cela permet de contenir plusieurs éléments dans un seul élément et garantit le nombre correct d'éléments.

Par exemple, si vous devez attribuer un tuple contenant trois éléments à une autre variable de tuple contenant quatre éléments, vous pouvez remplacer le dernier élément de la variable de tuple par un astérisque.

t1 = (1, 2, 3)
t2 = (4, 5, 6, 7)
t1_temp = t2[0:-1] + (t2[-1], )
if len(t1_temp) == len(t2):

t1 = t1_temp
print(t1)

else:

print('元组大小不一致!')

Si vous devez décompresser un seul élément en plusieurs variables lors de l'affectation, vous pouvez également utiliser l'opérateur astérisque. Par exemple :

t = (1, 2, 3, 4, 5)
a, b, *c = t
print(a, b, c) #Sortie : 1 2 [3, 4, 5]

3. Utilisez la fonction enumerate

Si le tuple contient plusieurs tuples, vous pouvez utiliser la fonction enumerate pour parcourir chaque élément du tuple et vous assurer que le nombre d'éléments est correct.

Par exemple :

t1 = ((1, 2), (3, 4), (5, 6))
t2 = ((7, 8), (9, 10), (11, 12), ( 13, 14))

if len(t1) == len(t2):

for i, (a, b) in enumerate(t2):
    if len(t1[i]) == len(t2[i]):
        t1[i] = (a, b)
print(t1)

else:

print('元组大小不一致!')

Résumé :

Les erreurs de taille d'affectation de tuple sont un problème courant dans la programmation Python. Afin d'éviter ce problème, vous devez accorder une attention particulière à la taille du tuple lors de l'écriture du code et utiliser certaines des méthodes mentionnées ci-dessus pour le résoudre. Cela évite les erreurs TypeError et garantit la robustesse et la fiabilité de votre code.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn