Python3とWarlus operatorの話。




:= ⇦なんか可愛い

ぼちぼち遊びで解いてるLeetCode。

374. Guess Number Higher or Lowerを解いた後にいい感じの解き方あるかなーってDiscussを流し見していると、こんな解答があった。

やってることは自分で実装した二分探索と同じことをやっているが、その中の解法でこんな書き方あったなってことでメモがてら残しておく。

ちなみにその書き方はこれ。

while (res := guess(myGuess)) != 0:

名前を知らなかったけどWarlus演算子っていうらしい。セイウチって呼んでた。
:= ⇦目と牙に見えますよね?だからWarlus(セイウチ)ってことらしいです

んで、上のコードのやっていることとしては

res = guess(myGuess)
while res != 0:

と同じで、これを1行で書けるよーってこと。
機能自体はPython3.8のリリースノートに書いてあったので結構前に使えるようになっていたはずなのですが、そこまで最新機能を追いかけていなかったのでここでメモとして残して勉強したってことで。

コメント

このブログの人気の投稿

Braveブラウザの同期機能をiPhoneで設定した話。

failed: unable to get local issuer certificate (_ssl.c:1123)と出たので解決した話

自作のChrome Extensionをインポートした時に "Invalid value for 'content_scripts[0].matches[0]': Empty path."というエラーが出たので解決した