Trocar dois valores em Python

Vaibhav Vaibhav 10 outubro 2023
  1. Troca de dois valores usando a troca de tupla em Python
  2. Trocar dois valores usando uma variável temporária em Python
  3. Trocar dois valores usando a lógica XOR em Python
Trocar dois valores 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
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.