Pythonのfor文のin演算子の使い方を現役エンジニアが解説【初心者向け】

初心者向けにPythonのfor文のin演算子の使い方について現役エンジニアが解説しています。in演算子とは変数がリスト、タプル、文字列、辞書に含まれるかどうかを判定する演算子です。Pythonで文字列・リスト・辞書におけるfor in文の書き方や使い方を解説します。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

Pythonのfor文のin演算子の使い方について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。

 

Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Python講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Pythonのfor文のin演算子の使い方について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

 

in演算子とは

Pythonにはメンバーシップ演算子と呼ばれる演算子が2種類(in, not in)あります。

メンバーシップ演算子は、変数がリスト、タプル、文字列、辞書に含まれるかどうかを判定し、True/Falseの値を返します。
辞書のキーに対してメンバーシップ演算子を用いることはできますが、値に対してはできません。
 

a = 'Hello World'
print('l' in a)
print('y' not in a)
print('h' in a)

 

結果

True
True
False

 

解説

‘l’ はaに複数含まれていますので、結果はTrueになります。
‘y’ はaに含まれていません。not in演算子を用いているので結果はTrueになります。
‘h’はaに含まれていません。aに含まれているのは大文字のHです。大文字小文字の区別もするため、Falseになります。
 

for文のin演算子の使い方

for文にてinを用いるときはリスト、タプル、文字列、辞書の一つずつについて特定のコードを実行します。

使い方は以下のようになります。

for 要素名 in シーケンス:
 各要素に対して実行するコード

シーケンスは指定をする必要がありますが、要素名は変数として設定する事が可能です。分かりやすい名前をつけてあげましょう。
 

[PR] Pythonで挫折しない学習方法を動画で公開中

実際に書いてみよう

文字列の場合

for x in 'Hello World':
 print(x)

結果

H
e
l
l
o

W
o
r
l
d

 

解説

文字列の場合には一文字ずつ要素として書き出しています。
‘ ‘(スペース)も一要素として処理をしている事に注意してください。
 

リストの場合

num_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
sum = 0
for num in num_list:
sum += num
print(sum)

結果

45

 

解説

num_listに含まれる要素一つずつを加算していっています。
printをforループの外側にしたため、得られる値は全部足し終わった後の値のみとなります。
 

辞書の場合

fruits_dict = {'apple': 1, 'orange': 2, 'banana': 3, 'peach': 4, 'cherry': 5, 'melon': 6}
for fruit in fruits_dict.keys():
 if 'a' in fruit:
  print(fruits_dict.get(fruit))

結果

1
4
2
3

 

解説

コードはfruits_dictそれぞれのキーに対して小文字の’a’が含まれるか判定をし、含まれる場合には値を書き出します。

指定した文字が含まれるのはapple, orange, banana, peachの4種類となりますのでそれぞれのあたいが結果として出力されました。
 

まとめ

今回はfor文のinの使い方を学習しました。

どんなプログラムでも必ずと言って良いほど使うものですので、是非とも使いこなせるようになりましょう。
 

監修してくれたメンター

メンターkatoさん

学生時代に数値解析のためにプログラミングを始める。現在は企業にて専門職として働くかたわら、プログラムを書き業務効率化を図っている。

現在のメイン言語はPython, JavaScript。また、企業内の希望者にPythonのメンターとして基礎から教えている。テックアカデミーではJavaScriptを教える。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、Pythonを使った人工知能(AI)や機械学習の基礎を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。