Python中的四種交換數(shù)值的方法解析
這篇文章主要介紹了Python中的四種交換數(shù)值的方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
交換兩個(gè)變量的值方法,這個(gè)面試題如果只寫(xiě)一種當(dāng)然很簡(jiǎn)單,沒(méi)什么可以說(shuō)的。
今天這個(gè)面試是問(wèn)大家有幾種辦法來(lái)實(shí)現(xiàn)交換兩個(gè)變量的值。
在沒(méi)開(kāi)始看具體答案前,你可以先想想看
下面分別來(lái)說(shuō)說(shuō)這幾種方法
方法一
通過(guò)新添加中間變量temp的方式,這個(gè)方法是最簡(jiǎn)單的,每個(gè)語(yǔ)言都適用。
方法二
Python獨(dú)有的方法,一行代碼就能搞定,直接將兩個(gè)變量放到元組。
方法三
這個(gè)方法采用加減法來(lái)交換。不考慮效率,能達(dá)到交換的效果就行
方法四
采用異或運(yùn)算,這個(gè)是不是看起來(lái)比較高大上。通過(guò)按位異或運(yùn)算來(lái)交換兩變量的值,可以減少變量的定義。
按位異或運(yùn)算即計(jì)算機(jī)會(huì)先把十進(jìn)制數(shù)轉(zhuǎn)化為二進(jìn)制數(shù),并對(duì)二進(jìn)制數(shù)講行從右到左用從1開(kāi)始編數(shù),然后比較兩個(gè)二進(jìn)制數(shù)值相同位置的數(shù),如果相同結(jié)果為0,不同時(shí)結(jié)果為1。
“1^1=01^0=10^0=0°
如:10101111
則結(jié)果為0101
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python數(shù)組排序方法之sort、sorted和argsort詳解
這篇文章主要給大家介紹了關(guān)于python數(shù)組排序方法之sort、sorted和argsort的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-03-03python設(shè)定并獲取socket超時(shí)時(shí)間的方法
今天小編就為大家分享一篇python設(shè)定并獲取socket超時(shí)時(shí)間的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01Python如何通過(guò)ARIMA模型進(jìn)行時(shí)間序列分析預(yù)測(cè)
這篇文章主要介紹了Python如何通過(guò)ARIMA模型進(jìn)行時(shí)間序列分析預(yù)測(cè)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02python 隨機(jī)打亂 圖片和對(duì)應(yīng)的標(biāo)簽方法
今天小編就為大家分享一篇python 隨機(jī)打亂 圖片和對(duì)應(yīng)的標(biāo)簽方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12python?dataframe獲得指定行列實(shí)戰(zhàn)代碼
對(duì)于一個(gè)DataFrame,常常需要篩選出某列為指定值的行,下面這篇文章主要給大家介紹了關(guān)于python?dataframe獲得指定行列的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12python+opencv實(shí)現(xiàn)動(dòng)態(tài)物體追蹤
這篇文章主要為大家詳細(xì)介紹了python+opencv實(shí)現(xiàn)動(dòng)態(tài)物體的追蹤,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01Django中反向生成models.py的實(shí)例講解
今天小編就為大家分享一篇Django中反向生成models.py的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05