【Python】比較演算子の使い方を基本から応用まで解説!
Pythonで変数AとB「どちらが大きいか調べたい」や「等しいかどうか確認したい」場合には比較演算子を使用します。
比較演算子は、対象であるの2つのオブジェクトを比較することができる演算子であり、結果を「True」や「False」で返すことから、if文などの条件文で使用することが多いです。
また、比較演算子は連結することで「10 < a < 90 != b」のように複数の条件を設定することができたり、文字列や数値の変数だけでなくリストやタプルなどのようなイテレータにも使用することができたりします。
今回はPythonで使用できる比較演算子の使い方について以下の内容で解説していきます。
⚫︎ 等しいか等しくないかを比較する
⚫︎ より大きいかより小さいかを比較する
⚫︎ 以上か以下かを比較する
⚫︎ 値が存在するかどうかを比較する
⚫︎ 複数の比較演算子を連結する
⚫︎ イテレータに比較演算子を使用する
目次
比較演算子とは
比較演算子とは、「変数Aと変数Bの大きさを比べたい」や「変数Aと変数Bが同じかどうか調べたい」など、対象であるの2つのオブジェクトを比較する時に使用する演算子となります。
比較した後、正しいなら「True」、正しくないなら「False」を返します。
比較演算子の一覧
比較演算子の一覧は下記となります。
演算子 | 説明 |
---|---|
a == b | aとbは等しい |
a != b | aとbは等しくない |
a <= b | aはbと等しいか小さい(逆向きだと等しいか大きい) |
a < b | aはbより小さい(逆向きだと大きい) |
a in b | aという要素がbに存在する |
a not in b | aという要素がbに存在しない |
比較演算子の基本的な使い方
比較演算子の基本的な使い方を紹介します。
等しいか等しくないかを比較する
オブジェクト同士が等しいか等しくないかを比較するには「==」や「!=」を使用します。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
def equal(x, y): print(x, y) if x == y: print('等しい') else: print('等しくない') def notEqual(x, y): print(x, y) if x != y: print('等しくない') else: print('等しい') val1 = 'あいうえお' val2 = 'あいうえお' equal(val1 , val2) val3 = 13 val4 = 14 notEqual(val3, val4) |
出力結果
あいうえお あいうえお
等しい
13 14
等しくない
「==」によって、オブジェクト同士が等しいかどうかを比較し、「!=」によって、オブジェクト同士が等しくないかどうかを比較しています。
また、数値を比較する場合は数字を比較しますが、文字列を比較する場合は文字をユニコードに直して比較しています。
より大きいかより小さいかを比較する
オブジェクト同士がより大きいかより小さいかを比較するは、「>」を使用します。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
def bigger(x, y): print(x, y) if x > y: print('左側の方が大きい') else: print('左側の方が小さい') def smaller(x, y): print(x, y) if x < y: print('左側の方が小さい') else: print('左側の方が大きい') val1 = 'あいうえおか' val2 = 'あいうえお' bigger(val1, val2) val3 = 13 val4 = 19 smaller(val3, val4) |
出力結果
あいうえおか あいうえお
左側の方が大きい
13 19
左側の方が小さい
「<」によって、オブジェクト同士がより大きいかより小さいかを比較しています。
以上か以下かを比較する
オブジェクト同士が以上か以下かを比較するには「<=」を使用します。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
def bigger(x, y): print(x, y) if x >= y: print('左の方が右以上') else: print('左の方が右より小さい') def smaller(x, y): print(x, y) if x <= y: print('左の方が右以下') else: print('左の方が右より大きい') val1 = 'あいうえお' val2 = 'あいうえお' bigger(val1, val2) val3 = 20 val4 = 19 smaller(val3, val4) |
出力結果
あいうえお あいうえお
左の方が右以上
20 19
左の方が右より大きい
「<=」によって、オブジェクト同士が以上か以下かを比較しています。
値が存在するかどうかを比較する
オブジェクトに指定した値が存在するかどうかを比較するには「in演算子」を使用します。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
def serch1(x, y): print(x, y) if x in y: print('左の値が右に存在する') else: print('左の値が右に存在しない') def serch2(x, y): print(x, y) if x not in y: print('左の値が右に存在しない') else: print('左の値が右に存在する') val1 = 'あ' val2 = 'あいうえお' serch(val1, val2) val3 = 'か' val4 = 'あいうえお' serch2(val3, val4) |
出力結果
あ あいうえお
左の値が右に存在する
か あいうえお
左の値が右に存在しない
in演算子を使用することで指定した値がオブジェクトに存在するかどうか調べることができます。
比較演算子の応用的な使い方
比較演算子の応用的な使い方について紹介していきます。
複数の比較演算子を連結する
比較演算子を連結することで、複数の条件を設定することができます。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
def compare1(x, y, z): print(x, y, z) if x < y <= z : print('この条件は成立します。') else: print('この条件は成立しません。') def compare2(x, y, z): print(x, y, z) if x == y != z : print('この条件は成立します。') else: print('この条件は成立しません。') val1 = 'あ' val2 = 'あいうえお' val3 = 'あいうえおかきくけこ' compare1(val1, val2, val3) val4 = 12 val5 = 12 val6 = 500 compare2(val4, val5, val6) |
出力結果
あ あいうえお あいうえおかきくけこ
この条件は成立します。
12 12 500
この条件は成立します。
比較演算子を連結することで、複数の条件を設定しています。
イテレータに比較演算子を使用する
比較演算子は文字列や数値の変数だけでなく、リストやタプルなどのイテレータにも使用することができます。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
def equal(x, y): print(x, y) if x == y: print('リスト同士は等しい') else: print('リスト同士は等しくない') def compare(x, y): print(x, y) if x >= y: print('左のリストの方が右のリスト以上である') else: print('左のリストの方が右のリストよりも小さい') def serch(x, y): print(x, y) if x in y: print(x, 'の値はリストに存在する') else: pprint(x, 'の値はリストに存在しない') list1 = ['値1', '値2', '値3', '値4', '値5'] list2 = ['値1', '値2', '値3', '値4', '値5'] equal(list1, list2) list3 = ['値1', '値2', '値3', '値4', '値5'] list4 = ['値1', '値2', '値3', '値4', '値5'] compare(list3, list4) val = '値1' list5 = ['値1', '値2', '値3', '値4', '値5'] serch(val, list5) |
出力結果
[‘値1’, ‘値2’, ‘値3’, ‘値4’, ‘値5’] [‘値1’, ‘値2’, ‘値3’, ‘値4’, ‘値5’]
リスト同士は等しい
[‘値1’, ‘値2’, ‘値3’, ‘値4’, ‘値5’] [‘値1’, ‘値2’, ‘値3’, ‘値4’, ‘値5’]
左のリストの方が右のリスト以上である
値1 [‘値1’, ‘値2’, ‘値3’, ‘値4’, ‘値5’]
値1 の値はリストに存在する
リストのようなイテレータに比較演算を使用することで、リスト同士を比較しています。
また、イテレータにin演算子を使用すると、指定した値がイテレータの要素に存在するかどうか検索することができます。
もし、リスト(List)にin演算子を使って要素の判定を行う方法について詳しく知りたい場合はこちらをご参考ください。
今回のポイント
比較演算子でオブジェクト同士を比較
Pythonでオブジェクト同士を比較するには比較演算子()を使用する。
⚫︎ 比較演算子で数値の場合は数字を比較し、文字列を比較する場合は文字をユニコードで比較する
⚫︎ オブジェクト同士が等しいか等しくないかを比較するには「==」や「!=」を使用する
⚫︎ オブジェクト同士が以上か以下かを比較するには「<=」を使用する
⚫︎ オブジェクト同士がより大きいかより小さいかを比較するは、「>」を使用する
⚫︎ オブジェクトに指定した値が存在するかどうかを比較するには「in演算子>/span>」を使用します。
⚫︎ 比較演算子は演算子同士を連結して使用することで、複数の条件を設定することができる
⚫︎ 比較演算子は文字列や数値の変数だけでなく、リストやタプルなどのイテレータにも使用することができる
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。