読者です 読者をやめる 読者になる 読者になる

知ることは、たのしい。

入門レベルの情報系学生が勉強する。同じ分野に初めて興味を持った人への参考になればいいなあ

pythonでswapする?

少し前の事になりますが、CTFの勉強がてらpythonでプログラムを書きをはじめて数日のこと、

値の交換をする必要があったのですが、たかだか数行のコードを書くのも煩わしく感じ

python便利そうだし組み込み関数とかあるんじゃないのと思って調べてみたところ有用なことを教わったのでメモを。

もちろんいろいろな言語の入門書にもあるような

tmp = a
a = b
b = tmp

とか、

a = a+b
b = a-b
a = a-b

と、書いてもいいのですがもっと楽にできる方法がありました。python素敵。

pythonでは1行で複数の代入が行えるので、

a, b = b, a

と、書けば上述の値の交換と同じことが1行で済むようになります。

このことは、pythonのリファレンスにも書いてあったのでリンクを貼っておきます。

6. 単純文 (simple statement) — Python 2.7.x ドキュメント