二つの変数のいくつかの方法Pythonの交換価値はありますか?

オリジナルリンク: https://www.jianshu.com/u/8f2987e2f9fb

二つの変数の方法の交換価値は、あなただけの1つのコースを書いた場合、顔の質問には、非常に単純な、何も言わなかったことができます。今日、このインタビューは、2つの変数の交換価値を実現するには、いくつかの方法を持っているかどうか尋ねることです。スタートは、特定の回答を見ていない前に、まずそれについて考えることができます。

以下は、それはいくつかの方法でこのように述べました。

1、方法

新しい中間変数tempの方法を追加することにより、この方法が最も簡単です、各言語が適用されます。

def swap(a,b):
    temp = a
    a = b
    b = temp
    print(a,b)

2.方法2

Pythonのユニークな方法で、1行のコードは、タプルに二つの変数に直接得ることができます。

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,
互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def swap2(a,b):
    a,b = b,a
    print(a,b)

3.メソッドスリー

この方法は、少数の人々は、足し算と引き算の利用と引き換えに、考えていません。私たちは、ライン上の交流の効果を得ることができ、効率を考慮していません。

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 寻找有志同道合的小伙伴,
互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def swap3(a, b):
    a = a + b
    b = a - b
    a = a - b
    print(a, b)

4.メソッド四

排他的論理和演算を使用して、これは比較的背の高い外観ではありません。コンピュータコードの解析時間を短縮しながら、二つの変数の値を交換することにより、排他的論理和演算ビット単位、定義された変数は、低減することができます。

ビット単位の排他的OR演算、すなわち、コンピュータは、第1の2値を進数に変換し、その後の数が同じ位置の2つのバイナリ値を比較し、1から始まる番号が右から左へのバイナリ数であろう、同じ結果が0でない場合同時に、結果は1です。"^ 1 ^ 0 ^ 0 = 0 = 0 = 1 1 0 1"

以下のような:
1010
1111

結果は0101です

def swap4(a,b):
    a = a ^ b
    b = a ^ b
    a = a ^ b
    print(a,b)

これらの4つの方法は、我々はすでにマスターしているかどうか?あなたは答えを参照して同意する必要がない場合は、我々はを指すとコメントエリアに歓迎を補完することができます!

おすすめ

転載: blog.csdn.net/qdPython/article/details/102665995