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
