【python】(if in)ある要素がlistやset内に存在するか判定する方法

python

pythonでlistやsetに特定要素が含まれるか判定したい人

pythonでlistやsetに特定要素が含まれるか判定したい人
「pythonでlistやsetに特定要素が含まれるか判定するにはどうしたらいいでしょうか?具体的な使用例としてコピペできるソースコードも欲しいです。」

こんな疑問を解決します。

概要

概要

if in文を使えば、ある要素がlistやsetなどのデータ構造内に存在するか判定することができます。

具体例

リスト(下例ではlst)にある要素(‘A’)が含まれているか判定し、その結果に応じた処理を行います。

 
lst=['A','B','C']
if 'A' in lst:
  print('Aはリストのメンバーです')
else:
  print('Aはリストのメンバーではありません')
 

 
実行結果は以下の通りです。

Aはリストのメンバーです

if inの構文

if inの構文

if in文の構文は以下の通りです。

if 《値》 in 《list,tuple,set,dictなど》:
《’値’がlist,tupleなどに含まれる要素に含まれる場合の処理》
else:
《要素に含まれなかった場合の処理》

本記事の内容

この記事を書いている私はIT業界歴12年、年収1,000万円ちょっとの金融系エンジニアです。学生時代から様々なプログラミング言語を扱ってきましたが、その中でもpythonはとても扱いやすく生産性も高く、オススメの言語です。

本記事では、pythonでif in文によってlistやsetに特定要素が含まれるか判定する方法について解説します。私はこれまでC/C++,Java,Cobol,SML,Ocamlなど様々な言語を扱ってきましたが、if in文はpython独自のユニークかつパワフルな構文です。これを使いこなせば、非常に美しくシンプルなプログラムをコーディングすることができます。

if in文を用いた具体例を示し、細かい構文に迷ったときにコピー&ペーストして使えることも目指しました。少しでもお役に立てますと幸いです。

if inの構文の応用1(if not in)

if inの構文の応用1(if not in)

 
if not in文を使えば、要素に含まれない場合の処理を記載することができます。

 
lst=['A','B','C']
if not 'Z' in lst:
  print('Zはリストのメンバーではありません')
 

if inの構文の応用2(辞書型で使う)

if inの構文の応用2(辞書型で使う)

 
key→value型(辞書型)のデータに対して要素の有無を判断する場合には、keyを指定して次のようにコーディングします。

 
dic = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
if 'key1' in dic:print('key1→'+dic['key1']+'はdicの要素です。')
 
 
key1→value1はdicの要素です。
 

if inの構文の応用3(set型で使う)

if inの構文の応用3(set型で使う)

数学が得意な人の出席番号のsetをA、理科が得意な人の出席番号のsetをB、プログラミングが得意な人の出席番号のsetをCとして、個々人の得意科目の有無をチェックしてみます。

 
A={5,9}  //数学が得意な人
B={1,4,9}  //理科が得意な人
C={9}   //プログラミングが得意な人
for id in range(1,11): //学籍番号1 10まで繰り返し
  if id in A & B & C:
    print('学籍番号'+str(id)+':全部得意です')
  elif id in A | B | C:
    print('学籍番号'+str(id)+':得意な科目があります')
  else:
    print('学籍番号'+str(id)+':得意な科目はありません')
 
 
学籍番号1:得意な科目があります
学籍番号2:得意な科目はありません
学籍番号3:得意な科目はありません
学籍番号4:得意な科目があります
学籍番号5:得意な科目があります
学籍番号6:得意な科目はありません
学籍番号7:得意な科目はありません
学籍番号8:得意な科目はありません
学籍番号9:全部得意です
学籍番号10:得意な科目はありません
 

 
今回は以上です。if in文の使い方について解説しました。本記事の内容がプログラミングする際の参考になりましたら幸いです。

今、ITエンジニアは前例のない売り手市場です

ITエンジニアは前例のない売り手市場、転職なら今

現在のエンジニアの求人数と求人倍率をご存知ですか?

直近(※)のIT業界全体の求人倍率は7.85倍です。

つまり 企業が8回 IT人材の求人を出しても、 1人しかエントリーがない 状況です。

エンジニア側が企業を選ぶ なら、今がチャンスです。

※転職サイトdodaが毎月発表している転職求人倍率。
 2019年12月9日発表/集計対象期間は2019年11月1日〜30日

詳しくはこちら


人気記事【今年の抱負】退職しオープン&フリー&シンプルに生きていく【失敗しない働き方改革の本質】