Python中有幾種辦法交換兩個變數的值?

2021-09-28 20:24:49 字數 1132 閱讀 8233

交換兩個變數的值方法,這個面試題如果只寫一種當然很簡單,沒什麼可以說的。今天這個面試是問大家有幾種辦法來實現交換兩個變數的值 。在沒開始看具體答案前,你可以先想想看 。

下面分別來說說這幾種方法:

1、方法一

通過新新增中間變數temp的方式,這個方法是最簡單的,每個語言都適用。

def

swap

(a,b)

: temp = a

a = b

b = temp

print

(a,b)

2、方法二

python獨有的方法,一行**就能搞定,直接將兩個變數放到元組中 。

'''

'''def

swap2

(a,b)

: a,b = b,a

print

(a,b)

3、方法三

這個方法,是不是很少人想到了,採用加減法來交換 。我們不考慮效率,能達到交換的效果就行 。

'''

'''def

swap3

(a, b)

: a = a + b

b = a - b

a = a - b

print

(a, b)

4、方法四

採用異或運算,這個是不是看起來比較高大上。通過按位異或運算來交換兩變數的值,可以減少變數的定義,同時減少計算機對**的解析時間。

按位異或運算即計算機會先把十進位制數轉化為二進位制數,並對二進位制數進行從右到左用從1開始編數,然後比較兩個二進位制數值相同位置的數,如果相同結果為0,不同時結果為1 。 「1^1=0 1^0=1 0^0=0」

如:1010

1111

則結果為 0101

def

swap4

(a,b)

: a = a ^ b

b = a ^ b

a = a ^ b

print

(a,b)

交換兩個數的幾種方法

這是最常用的交換兩數的方法 void swap 1 int a,int b 有兩種方法。1 採用加減的方法,這種方法容易越界 void swap 2 int a,int b 2 採用按位異或的方法 void swap 3 int a,int b 這兩種方法並不常用甚至有些時候容易出bug,但有時面試...

python交換資料的兩列

python交換資料的兩列有兩種方式 第一種 在numpy中交換資料的兩列 上 1 import numpy as np 2 a np.array 1,2,3 4,5,6 3 a 4 array 1,2,3 5 4,5,6 6 a 0,1 a 1,0 7 a 8 array 3,2,1 9 6,5,...

python兩數交換位運算 Python 位運算

利用位運算實現快速計算 通過 快速計算2的倍數問題。n 1 計算 n2 n 1 計算 n 2,負奇數的運算不可用 n m 計算 n 2 m 即乘以 2 的 m 次方 n m 計算 n 2 m 即除以 2 的 m 次方 1 n 2 n 通過 快速交換兩個整數。通過 快速交換兩個整數。a b b a a...