【Python】if文でinを使用して特定した値を含むかどうかを解説!サンプルコード付き!
in演算子を使用することでリストなどに特定の要素が含まれるか判定することができます。例えば、この配列の中にこの値が入っているか知りたいとか、確認したい時などに使われます。
今回はif文でinを使用し、特定した値を含むかどうかを解説していきます。
また、特定した値を含むかどうか判定する方法も6つ紹介し、それぞれサンプルコードを使って解説します。
目次
if文 inの使い方
if文 inの書き方
if文 inは下記のように書きます。
1 2 |
if 値 in リストや配列など: // 処理内容 |
ifの条件式で指定されている値が、リストや配列などに格納されているならtrue、
ない場合はfalseを返します。
if文について知りたい場合は【Python】if文で条件分岐を行う!書き方や使い方を分かり易く解説!をご参照ください。
if文 inのサンプルコード
ここでif文 inのサンプルコードを見てみましょう。
if文 inの例1
1 2 3 4 5 6 |
x = 4 if x in [1,2,4,5]: print("数字が見つかり、trueなので画面に出力されます。") print("処理を終了します。") |
出力結果
数字が見つかり、trueなので画面に出力されます。
処理を終了します。
if文 inの例2
1 2 3 4 5 |
x = 3 if x in [1,2,4,5]: print("数字が見つかり、trueなので画面に出力されます。") print("処理を終了します。") |
出力結果
処理を終了します。
配列には3という値は見られないため、falseを返し、if文の下にある条件は実行されません。
if文 inの例3
1 2 3 4 5 |
x = "あ" if x in ["あ","い","う","え"]: print("文字が見つかり、trueなので画面に出力されます。") print("処理を終了します。") |
出力結果
文字が見つかり、trueなので画面に出力されます。
処理を終了します。
配列に「あ」という文字が見つかりましたので条件式はtrueを返しています。
それでは配列の中の「あ」を「あい」へと変更して実行してみます。
if文 inの例4
1 2 3 4 5 |
x = "あ" if x in ["あい","い","う","え"]: print("文字が見つかり、trueなので画面に出力されます。") print("処理を終了します。") |
出力結果
処理を終了します。
配列の中に「あい」はありますが、「あ」という、文字列はありませんのでfalseを返しています。
つまり、文字列ではきちんと一致する値がないとtrueを返しません。
if文 inを使って判定する6つの方法
先ほど解説しましたが、if文 inを使うことで文字列やリスト(配列)、タプルなどに特定する値が含まれているかを判定することができます。
ですので、次はif文 inを利用した6の方法で判定を行ってみます。
リスト(配列)に特定の値が含まれているかどうか
リスト(配列)やタプルなどに特定の値が含まれているかどうか判定するには先ほど解説したように
inの後ろにリスト等を指定し、ifで特定の値を指定します。
リストを使った例
1 2 3 |
x = 4 if x in [1,2,4,5]: print("4はあります。") |
出力結果
4はあります。
辞書のキーに特定の値が含まれているかどうか
辞書のキーに特定の値が含まれるかどうかの判定iを行うにはinでの後ろに辞書変数を指定し、ifで特定の値を指定します。
辞書変数を使った例
1 2 3 4 5 6 |
x = "C1" monster = {"C1":"ゴジラ", "C2":"モスラ", "C3":"キングドラ"} if x in moster: print("ゴジラです。") else: print("データは存在しません。") |
出力結果
ゴジラです
notによるリスト(配列)に特定の値が含まれていないかどうか
特定の値が含まれていないかどうかを判定するには、inの後ろに論理演算子notを設定します。
そして、notの後ろにリスト等を指定し、if文に特定する値を指定します。
論理演算子について知りたい場合はこちらおご参考ください。
not inを使った例
1 2 3 4 5 |
x = 15 if x not in [12,45,"こんにちは","Hello"]: print("15は存在しません。") else: print("15は存在します。") |
出力結果
15は存在しません。
notなので、条件が逆転します。
そのため、値がない場合にtrueを返すことになります。
rangeで作成されたリスト(配列)に特定の値が含まれているかどうか
rangeで作成されたリスト(配列)に特定の値が含まれているかどうか判定するにはinの後ろにrange関数を使用します。
【Python】range()関数の使い方を徹底解説!サンプルコード付き!をご参照ください。
range()関数を使った例
1 2 3 4 5 |
cnt= 3 if cnt in range(1, 5): print("3はカウントされます。") else: print("3はカウントされません。") |
出力結果
3はカウントされます。
and/orによる複数条件で特定の値が含まれるかどうか
and/orによる複数条件で特定の値が含まれるかどうかを判定するにはif文の条件を複数指定する場合に設定します。
書き方は、条件と条件の間にandかorを設定します。
andを使った例
1 2 3 4 5 6 7 |
i = 4 j = 6 list = [1,2,4,5] if i and j in list: print("両数ともあります。") else: print("両数とももしくはどちらかがありません。") |
出力結果
両数とももしくはどちらかがありません。
続いて条件をandからorへ変更してみます。
orを使った例
1 2 3 4 5 6 7 |
i = 4 j = 6 list = [1,2,4,5] if i or j in list: print("どちらかはあります。") else: print("どちらかはありますが、両数はありません。") |
出力結果
どちらかはあります。
文字列に特定の値が含まれているかどうか
文字列に特定の値が含まれているかどうかを判定するにはinの後ろに文字列を指定します。
そして、if文に特定する値を指定します
文字列判定の例1
1 2 3 4 5 |
word = "Chopsticks" if word in "ks": print("含まれます。") else: print("含まれません。") |
出力結果
含まれます。
「ks」という文字列は含まれますので、trueを返しています。
続いて含む文字を大文字にして判定を行ってみましょう。
文字列判定の例2
1 2 3 4 5 |
word = "Chopsticks" if word in "cho": print("含まれます。") else: print("含まれません。") |
出力結果
含まれません。
choは「Chopsticks」には含まれていますが、判定しているのは小文字であるため、falseと判定されています。
大文字と小文字では区別されますので注意してください。
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。