2015年11月26日

条件式あれこれ

Python の条件式の書き方に関するTipsを幾つか紹介します。


1.不等式の連結
Python では不等式を連結できます。これを利用して、最小値・最大値チェックを非常にシンプルに表現できます。

>>> a = 1
>>> 0 <= a <= 10:
True
C言語を含む多くの言語では、同じ不等式を書くのに式が2つ必要となり、さらに好みによって書き方が分かれます。Python の方が断然スッキリしていますね!
// C言語の例
if (0 <= a && a <= 10) { // min a max順

if (a >= 0 && a <= 10) { // aが常に左辺



2.in演算子の活用
in と言うと for との併用が真っ先に思い付きますが、演算子としても使い所が多いです。
以下に代表的な使用例を挙げます。
# dictのkeyに値が含まれいるかのチェック
>>> d = {1:'one', 2:'two', 3:'three'}
>>> 3 in d
True

# strに部分文字列が含まれいるかのチェック
>>> s = 'abcdefghi'
>>> 'efg' in s
True

# s == 'Yes' or s == 'No' or s == 'Cancel' の別表現
>>> s = 'Yes'
>>> s in ('Yes', 'No', 'Cancel')
True



3.all と any の活用
ビルトイン関数である all 又は any を使うことで、条件式の中にコンテナを扱う処理を書けます。
# リストに 0 が含まれていないことを確認
>>> l = [1, 4, 2, 8, 5, 7]
>>> all(l)
True

# リストが全て偶数であることを確認
>>> l = [1, 4, 2, 8, 5, 7]
>>> all(i % 2 == 0 for i in l)
False

# リストに 5以上の数があることを確認
>>> l = [1, 4, 2, 8, 5, 7]
>>> any(i >= 5 for i in l)
True

0 件のコメント:

コメントを投稿