Échanger deux valeurs en Python
- Échangez deux valeurs à l’aide de Tuple Swap en Python
- Échanger deux valeurs à l’aide d’une variable temporaire en Python
- Échangez deux valeurs à l’aide de la logique XOR en Python
Lorsqu’il s’agit de données ou de programmation en général, nous nous retrouvons dans des situations où nous devons échanger les valeurs de deux variables. Par exemple, si a
stocke 5
et b
stocke 25
, a
stockera 25
après l’échange et b
stockera 5
. Cet article parlera des différentes manières que nous pouvons utiliser pour effectuer l’échange de valeurs entre deux variables.
Échangez deux valeurs à l’aide de Tuple Swap en Python
En Python, nous pouvons utiliser une expression d’affectation ou un échange de tuples pour échanger des valeurs. Référez-vous au code suivant.
a = 5
b = 25
print("Before swapping")
print("a:", a, "b:", b)
a, b = b, a # Swapping
print("After swapping")
print("a:", a, "b:", b)
Production:
Before swapping
a: 5 b: 25
After swapping
a: 25 b: 5
Remarquez l’expression a, b = b, a
. Cette expression sert essentiellement à créer un tuple de deux valeurs sur le côté droit, puis sur le côté gauche. Ensuite, la première valeur du tuple du côté droit est affectée à la première variable du tuple du côté gauche. Enfin, la deuxième valeur du tuple du côté droit est affectée à la deuxième variable du tuple du côté gauche. Cette opération permute les deux valeurs.
Échanger deux valeurs à l’aide d’une variable temporaire en Python
Dans cette méthode, une variable temporaire est utilisée pour échanger deux valeurs. Considérons deux variables, a
et b
et une variable temporaire, temp
. Tout d’abord, la valeur de a
sera copiée dans temp
. Ensuite, la valeur de b
sera attribuée à a
. Enfin, la valeur de temp
sera affectée à b
et la variable temp
sera soit supprimée, soit définie sur None
.
Reportez-vous au code suivant pour la même chose.
a = 5
b = 25
print("Before swapping")
print("a:", a, "b:", b)
temp = a # Step 1
a = b # Step 2
b = temp # Step 3
del temp # (optional)
print("After swapping")
print("a:", a, "b:", b)
Production:
Before swapping
a: 5 b: 25
After swapping
a: 25 b: 5
Échangez deux valeurs à l’aide de la logique XOR en Python
En Python, XOR
est représenté par le symbole ^
. Et, nous pouvons l’utiliser pour effectuer l’échange de la manière suivante. Notez que cette approche ne fonctionne que pour les entiers. Pour les valeurs flottantes, nous obtiendrons l’erreur suivante.
TypeError: unsupported operand type(s) for ^=: 'float' and 'float'`.
a = 5
b = 25
print("Before swapping")
print("a:", a, "b:", b)
a ^= b # Step 1
b ^= a # Step 2
a ^= b # Step 3
print("After swapping")
print("a:", a, "b:", b)
Production:
Before swapping
a: 5 b: 25
After swapping
a: 25 b: 5