python交換兩個變數的值

2021-07-25 10:48:02 字數 459 閱讀 2846

大部分語言,例如c語言,交換兩個變數的值需要使用中間變數。

例如交換a,b

偽**:

tmp = a

a = b

b = tmp

python裡面可以實現無臨時變數的交換

(a,b) = (b,a)

對於它的交換原理我深感好奇,因為這意味著python直譯器很有可能做了件更多的工作。

如果說變數可以直接交換,那麼列表的元素呢?

lists[i], lists[j] =lists[j], lists[i]

是否可以實現列表i,j元素的互換,如果可以實現,原理是什麼?

可以實現交換,至於原理,可以用id檢視變數或元素的位址。因為python中的變數名類似於指標指向了某個位址,其交換也就是指向改變了。

至於底層的原理,要找乙個了解python的人請教一下

交換兩個變數的值

交換兩個變數的值 交換兩個變數的值是我們學習c語言常見的問題,通常我們採取的方式是定義中間變數,通過中間變數交換這兩個變數值。1 直接在主函式裡完成 int a 2,b 3 int t t a a b b t 2 通過定義swap 完成交換,其中可以通過引用 位址傳遞完成變數值交換 引用 inclu...

交換兩個變數的值

有兩個整數a和b,下面將用四種方法把他們的值進行交換 方法1 借助臨時變數tmp include intmain 如果要求不能建立其他變數,還有下面的方法 方法2 巧妙進行數值運算 include intmain 方法3 二進位制異或運算 include intmain 整數10的二進位制數表示為 ...

交換兩個變數的值

交換兩個變數的值 方式一 定義臨時變數的方式 int temp num1 num1 num2 num2 temp 方式二 num1 num1 num2 num2 num1 num2 num1 num1 num2 好處 不用定義臨時變數 弊端 1 相加操作肯超過儲存範圍 2 有侷限性 只適用於數值型別...