Pythonのin演算子の使い方について書いています。
in演算子を使うことで、if文で下記の型のオブジェクトに指定した値が含まれるか確認することができます。
・リスト
・タプル
・集合
・辞書
また、for文で使ったときのin
については、ループの元になる要素とループごとの値を設定します。
それぞれについて、コードを書いて挙動確認してみました。
載せているコードはPythonのバージョン3.11.0で確認しました。
文字列に指定した値が含まれるか確認する
文字列を含むか確認するときには、下記のようにin
演算子を使うことができます。
fruits = 'apple banana grape orange'
if 'grape' in fruits:
print('grapeを含んだ文字列です')
最初にfruits変数に文字列を代入しています。
次の処理で、if文を使ってfruits変数の文字列に「grape
」が含まれるか確認しています。
in
の左側に調べたい文字列、右側に検索対象の文字列を書くことで含むか確認できます。
含んでいる場合にはTrueが返ってきて、含んでいない場合にはFalseが返ってきます。
今回は含んでいるので、Trueが返ってきて「grapeを含んだ文字列です
」を出力して処理を終了します。
リストに指定した値が含まれるか確認する
リストに含むかを確認するときにも、下記のようにin
演算子を使うことができます。
リストの値に同じものがあればTrueになります。
fruits = ['apple', 'banana', 'grape', 'orange']
if 'banana' in fruits:
print('bananaを含んだリストです')
最初にfruits変数に果物名の文字列のリストを代入しました。
次の処理で、if文を使っています。
左側に調べたい値を指定して、右側に検索したいリストを書くと含まれるか確認できます。
含んでいる場合にはTrueで、含んでいない場合にはFalseが返ってきます。
今回はfruits変数のリストの中に「banana
」が含まれているか確認しています。
含んでいるため「bananaを含んだリストです
」を表示して、処理を終了します。
タプルに指定した値が含まれるか確認する
タプルに含むか確認するときにも、リストと同じようにin
演算子を使って、指定した値が含まれるか確認できます。
fruits = ('apple', 'banana', 'grape', 'orange')
if 'apple' in fruits:
print('appleを含んだタプルです')
最初にfruits変数に果物名を並べたタプルを代入しました。
次の処理で、if文を使っています。
左側に調べたい値を指定して、右側に検索したいタプルを書くと含まれるか確認できます。
含んでいる場合にはTrueで、含んでいない場合にはFalseが返ってきます。
今回はfruits変数のリストの中に「apple
」が含まれているか確認しています。
含んでいるため「appleを含んだタプルです
」を表示して、処理を終了します。
集合に指定した値が含まれるか確認する
集合に含むか確認するときにも、リストと同じようにin
演算子を使って、指定した値が含まれるか確認できます。
fruits = {'apple', 'banana', 'grape', 'orange'}
if 'orange' in fruits:
print('orangeを含んだ集合です')
最初にfruits変数に果物名を並べた集合を代入しました。
次の処理で、if文を使っています。
左側に調べたい値を指定して、右側に検索したい集合を書くと含まれるか確認できます。
含んでいる場合にはTrueで、含んでいない場合にはFalseが返ってきます。
今回はfruits変数のリストの中に「orange
」が含まれているか確認しています。
含んでいるため「orangeを含んだ集合です
」を表示して、処理を終了します。
辞書に指定した値が含まれるか確認する
集合に含むか確認するときにも、リストと同じようにin
演算子を使って、指定したキーが含まれるか確認できます。
そのままin
演算子を使うと、キーを確認するので、値があるか確認する場合にはvalues
メソッドを呼び出します。
fruits = {'fruit1': 'apple','fruit2': 'banana','fruit3': 'grape','fruit4': 'orange'}
if 'fruit3' in fruits:
print('fruit3のキーを含んでいます')
if 'banana' in fruits.values():
print('bananaのキーを含んでいます')
fruits変数にfruit1〜fruit4のキーと、果物名を値にして辞書を作りました。
その次の処理で、if文を使ってin
演算子を使っています。
左側に調べたい値を指定して、右側に検索したい辞書を書くと、キーが含まれるか確認してくれます。
今回はfruit3
がキーとして存在しているか確認しています。
存在しているので、ここでは「fruit3のキーを含んでいます
」が出力されます。
辞書の値を検索したい
辞書に特定の値が含まれるか確認するときには、辞書のvalues
メソッドを使うと良いです。
今回はfruits.values
を呼ぶことで、fruits変数の辞書の値を確認しています。
「banana
」を指定していて、存在するのでTrueになり「bananaのキーを含んでいます
」を出力して処理が終了します。
for文でのinは?
for文でのin
は左側がループごとに設定される値で、右側がループ元になる要素です。
fruits = ['apple', 'melon', 'lemon']
for fruit in fruits:
print(fruit)
最初にfruits変数に3つの要素のリストを代入しました。
次の処理で、for文を使っています。
if文のときにはin
を使うと、リストに指定した値を含んでいるか確認することができました。
for文で使ったときには、ループ元になる要素をin
の右側に書いて、左側にはループごとに設定される変数を書きます。
今回はfruits
変数のリストがループで使われて、入っている要素が順番にfruit
変数に設定されます。
ループ文のブロックではprint関数でfruit
変数の値を出力しているだけです。
結果、中身がひとつずつ取り出されて、下記のように出力されます。
apple
melon
lemon
終わりに
今回はPythonのin演算子について書きました。
if文で使われるときには、指定した値が含まれるかを確認することができました。
また、if文でnot in
を使うと、含まれていないものを確認することも可能です。
for文で使っているときには、ループ元の要素と設定する変数を定義できました。
コメント