Trocar dois valores em Python
- Troca de dois valores usando a troca de tupla em Python
- Trocar dois valores usando uma variável temporária em Python
- Trocar dois valores usando a lógica XOR em Python
Ao lidar com dados ou programação em geral, chegamos a situações em que temos que trocar os valores de duas variáveis. Por exemplo, se a
está armazenando 5
e b
está armazenando 25
, a
armazenará 25
após a troca e b
armazenará 5
. Este artigo vai falar sobre as diferentes maneiras que podemos usar para realizar a troca de valores entre duas variáveis.
Troca de dois valores usando a troca de tupla em Python
Em Python, podemos usar uma expressão de atribuição ou troca de tupla para trocar para valores. Consulte o código a seguir.
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)
Resultado:
Before swapping
a: 5 b: 25
After swapping
a: 25 b: 5
Observe a expressão a, b = b, a
. Essa expressão serve essencialmente para criar uma tupla de dois valores no lado direito e, em seguida, no lado esquerdo. Em seguida, o primeiro valor da tupla do lado direito é atribuído à primeira variável da tupla do lado esquerdo. Por último, o segundo valor da tupla do lado direito é atribuído à segunda variável da tupla do lado esquerdo. Esta operação troca os dois valores.
Trocar dois valores usando uma variável temporária em Python
Neste método, uma variável temporária é usada para trocar dois valores. Considere duas variáveis, a
e b
e uma variável temporária, temp
. Primeiro, o valor de a
será copiado para temp
. Então, o valor de b
será atribuído a a
. Por último, o valor de temp
será atribuído a b
e a variável temp
será excluída ou definida como None
.
Consulte o seguinte código para o mesmo.
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)
Resultado:
Before swapping
a: 5 b: 25
After swapping
a: 25 b: 5
Trocar dois valores usando a lógica XOR em Python
Em Python, XOR
é representado pelo símbolo ^
. E podemos usá-lo para realizar a troca da seguinte maneira. Observe que essa abordagem só funciona para inteiros. Para valores flutuantes, obteremos o seguinte erro.
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)
Resultado:
Before swapping
a: 5 b: 25
After swapping
a: 25 b: 5