「Pythonの基礎 - 反復処理(for文)」の版間の差分

Wiki がページ「反復処理 - for文(Python)」を「Pythonの基礎 - 反復処理(for文)」に、リダイレクトを残さずに移動しました
文字列「</source>」を「</syntaxhighlight>」に置換
 
(同じ利用者による、間の1版が非表示)
9行目: 9行目:
Pythonでfor文を使ってループ処理のコードを書くには、forの後ろに繰り返し変数を記述する。<br>
Pythonでfor文を使ってループ処理のコードを書くには、forの後ろに繰り返し変数を記述する。<br>
続けて、inキーワードを記述した後にリストなどのシーケンスを記述して、末尾にコロンを置く。<br>
続けて、inキーワードを記述した後にリストなどのシーケンスを記述して、末尾にコロンを置く。<br>
  <source lang="python">
  <syntaxhighlight lang="python">
  for 繰り返し変数 in シーケンス:
  for 繰り返し変数 in シーケンス:
     実行コード
     実行コード
  </source>
  </syntaxhighlight>
<br>
<br>
以下の例では、リスト変数から各要素を取得している。<br>
以下の例では、リスト変数から各要素を取得している。<br>
  <source lang="python">
  <syntaxhighlight lang="python">
  lang = ["Python","PHP","Swift"]
  lang = ["Python","PHP","Swift"]
   
   
25行目: 25行目:
  PHP
  PHP
  Swift
  Swift
  </source>
  </syntaxhighlight>
<br>
<br>
次に、文字列をシーケンスとして使用する。<br>
次に、文字列をシーケンスとして使用する。<br>
以下の例では、Pythonという文字列を、繰り返し変数をsとして、1文字ずつ取得している。<br>
以下の例では、Pythonという文字列を、繰り返し変数をsとして、1文字ずつ取得している。<br>
  <source lang="python">
  <syntaxhighlight lang="python">
  for s in "Python":
  for s in "Python":
     print(s)
     print(s)
40行目: 40行目:
  o
  o
  n
  n
  </source>
  </syntaxhighlight>
<br><br>
<br><br>


46行目: 46行目:
for文でも、while文と同様にbreak文を使用して反復処理を抜けることができる。<br>
for文でも、while文と同様にbreak文を使用して反復処理を抜けることができる。<br>
以下の例では、取得した文字がhの時にfor文から抜ける処理をしている。<br>
以下の例では、取得した文字がhの時にfor文から抜ける処理をしている。<br>
  <source lang="python">
  <syntaxhighlight lang="python">
  for s in "Python":
  for s in "Python":
     if s == "h":
     if s == "h":
56行目: 56行目:
  y
  y
  t
  t
  </source>
  </syntaxhighlight>
<br><br>
<br><br>


62行目: 62行目:
continue文を使用して、処理をスキップして再度反復処理の先頭に戻ることができる。<br>
continue文を使用して、処理をスキップして再度反復処理の先頭に戻ることができる。<br>
以下の例では、指定した文字hの場合のみ処理がスキップしている。<br>
以下の例では、指定した文字hの場合のみ処理がスキップしている。<br>
  <source lang="python">
  <syntaxhighlight lang="python">
  for s in "Python":
  for s in "Python":
     if s == "h":
     if s == "h":
74行目: 74行目:
  o
  o
  n
  n
  </source>
  </syntaxhighlight>
<br><br>
<br><br>


80行目: 80行目:
for文もwhile文と同様に、処理が終わったら何か別の処理をする場合にelse文と組み合わせることができる。<br>
for文もwhile文と同様に、処理が終わったら何か別の処理をする場合にelse文と組み合わせることができる。<br>
以下の例のように、else文を最後に付け加えるだけである。<br>
以下の例のように、else文を最後に付け加えるだけである。<br>
  <source lang="python">
  <syntaxhighlight lang="python">
  lang = ["Python","PHP","Swift"]
  lang = ["Python","PHP","Swift"]
   
   
93行目: 93行目:
  Swift
  Swift
  Done!
  Done!
  </source>
  </syntaxhighlight>
<br>
<br>
また、以下の例では、break文と組み合わせている。<br>
また、以下の例では、break文と組み合わせている。<br>
break文で反復処理を抜けると、else文の処理は実行されない。<br>
break文で反復処理を抜けると、else文の処理は実行されない。<br>
このような処理は、break文が実行されなかった場合は、else文でチェックするような時に使用する。<br>
このような処理は、break文が実行されなかった場合は、else文でチェックするような時に使用する。<br>
  <source lang="python">
  <syntaxhighlight lang="python">
  lang = ["Python","PHP","Swift"]
  lang = ["Python","PHP","Swift"]
   
   
110行目: 110行目:
  # 出力
  # 出力
  Python
  Python
  </source>
  </syntaxhighlight>
<br><br>
<br><br>


117行目: 117行目:
次のような辞書型変数を用意して、for文で処理する。<br>
次のような辞書型変数を用意して、for文で処理する。<br>
print関数で出力されているものは、辞書のキーの部分である。このように、辞書型変数をfor文で処理するとキーが処理される。<br>
print関数で出力されているものは、辞書のキーの部分である。このように、辞書型変数をfor文で処理するとキーが処理される。<br>
  <source lang="python">
  <syntaxhighlight lang="python">
  foods = {"breakfast":"miso soup", "lunch":"sandwich", "dinner":"steak"}
  foods = {"breakfast":"miso soup", "lunch":"sandwich", "dinner":"steak"}
   
   
127行目: 127行目:
  lunch
  lunch
  dinner
  dinner
  </source>
  </syntaxhighlight>
<br>
<br>
上記のサンプルコードは、次のように辞書型変数のkeys関数を使用した処理と同じである。<br>
上記のサンプルコードは、次のように辞書型変数のkeys関数を使用した処理と同じである。<br>
for文で辞書をそのまま使用してもkeys関数を使用しても、結果はどちらもキーが取得されることになる。<br>
for文で辞書をそのまま使用してもkeys関数を使用しても、結果はどちらもキーが取得されることになる。<br>
  <source lang="python">
  <syntaxhighlight lang="python">
  foods = {"breakfast":"miso soup", "lunch":"sandwich", "dinner":"steak"}
  foods = {"breakfast":"miso soup", "lunch":"sandwich", "dinner":"steak"}
   
   
141行目: 141行目:
  lunch
  lunch
  dinner
  dinner
  </source>
  </syntaxhighlight>
<br>
<br>
===== for文と辞書のvalues関数 =====
===== for文と辞書のvalues関数 =====
辞書の値を反復処理で取得する場合は、values関数を使用する。<br>
辞書の値を反復処理で取得する場合は、values関数を使用する。<br>
以下の例では、values関数を使用して辞書の値を取得している。<br>
以下の例では、values関数を使用して辞書の値を取得している。<br>
  <source lang="python">
  <syntaxhighlight lang="python">
  foods = {"breakfast":"miso soup", "lunch":"sandwich", "dinner":"steak"}
  foods = {"breakfast":"miso soup", "lunch":"sandwich", "dinner":"steak"}
   
   
156行目: 156行目:
  sandwich
  sandwich
  steak
  steak
  </source>
  </syntaxhighlight>
<br>
<br>
===== for文と辞書のitems関数 =====
===== for文と辞書のitems関数 =====
辞書のキーと値をセットでタプル型に変換して反復処理する場合は、items()関数を使用する。<br>
辞書のキーと値をセットでタプル型に変換して反復処理する場合は、items()関数を使用する。<br>
  <source lang="python">
  <syntaxhighlight lang="python">
  foods = {"breakfast":"miso soup", "lunch":"sandwich", "dinner":"steak"}
  foods = {"breakfast":"miso soup", "lunch":"sandwich", "dinner":"steak"}
   
   
170行目: 170行目:
  ('lunch', 'sandwich')
  ('lunch', 'sandwich')
  ('dinner', 'steak')
  ('dinner', 'steak')
  </source>
  </syntaxhighlight>
<br>
<br>
また、以下の例では、このタプルをそれぞれの変数にキーと値を代入する処理を行っている。<br>
また、以下の例では、このタプルをそれぞれの変数にキーと値を代入する処理を行っている。<br>
ピリオドと改行コードを文末に出力するために、print関数のendオプションを使用している。<br>
ピリオドと改行コードを文末に出力するために、print関数のendオプションを使用している。<br>
それぞれキーと値が対応した位置に出力されている。<br>
それぞれキーと値が対応した位置に出力されている。<br>
  <source lang="python">
  <syntaxhighlight lang="python">
  foods = {"breakfast":"miso soup", "lunch":"sandwich", "dinner":"steak"}
  foods = {"breakfast":"miso soup", "lunch":"sandwich", "dinner":"steak"}
   
   
185行目: 185行目:
  Yesterday, I had sandwich for lunch.
  Yesterday, I had sandwich for lunch.
  Yesterday, I had steak for dinner.
  Yesterday, I had steak for dinner.
  </source>
  </syntaxhighlight>
<br><br>
<br><br>


193行目: 193行目:
<br>
<br>
range関数の使用方法は、range(start値, end値, step値)という形でそれぞれの値に数値を指定する。(スライスと同様の使用方法)<br>
range関数の使用方法は、range(start値, end値, step値)という形でそれぞれの値に数値を指定する。(スライスと同様の使用方法)<br>
  <source lang="python">
  <syntaxhighlight lang="python">
  for i in range(5):
  for i in range(5):
     print(i)
     print(i)
203行目: 203行目:
  3
  3
  4
  4
  </source>
  </syntaxhighlight>
<br>
<br>
次に、range関数のstart値、end値、step値を指定する。<br>
次に、range関数のstart値、end値、step値を指定する。<br>
  <source lang="python">
  <syntaxhighlight lang="python">
  for i in range(1, 10, 3):
  for i in range(1, 10, 3):
     print(i)
     print(i)
214行目: 214行目:
  4
  4
  7
  7
  </source>
  </syntaxhighlight>
<br>
<br>
range関数は、list関数を使用してリストに変換することができる。<br>
range関数は、list関数を使用してリストに変換することができる。<br>
  <source lang="python">
  <syntaxhighlight lang="python">
  a = list(range(1, 10, 3))
  a = list(range(1, 10, 3))
  print(a)
  print(a)
223行目: 223行目:
  # 出力
  # 出力
  [1, 4, 7]
  [1, 4, 7]
  </source>
  </syntaxhighlight>
<br><br>
<br><br>


232行目: 232行目:
各リストの共通するインデックスの値が抜き出されて反復処理されている。<br>
各リストの共通するインデックスの値が抜き出されて反復処理されている。<br>
3つのリストがここでは全て同じ要素数でしたが、要素数がそれぞれ異なる場合は、一番小さい要素数に合わせたオフセットで反復処理がなされます。
3つのリストがここでは全て同じ要素数でしたが、要素数がそれぞれ異なる場合は、一番小さい要素数に合わせたオフセットで反復処理がなされます。
  <source lang="python">
  <syntaxhighlight lang="python">
  lang = ["Python", "PHP", "Swift"]
  lang = ["Python", "PHP", "Swift"]
  prefix = ["P", "P", "S"]
  prefix = ["P", "P", "S"]
244行目: 244行目:
  PHP P P
  PHP P P
  Swift S t
  Swift S t
  </source>
  </syntaxhighlight>
<br>
<br>
上記のサンプルコードをrange関数を使用して記述すると、以下のようになる。<br>
上記のサンプルコードをrange関数を使用して記述すると、以下のようになる。<br>
実行すると同様の結果が出力される。<br>
実行すると同様の結果が出力される。<br>
  <source lang="python">
  <syntaxhighlight lang="python">
  lang = ["Python", "PHP", "Swift"]
  lang = ["Python", "PHP", "Swift"]
  prefix = ["P", "P", "S"]
  prefix = ["P", "P", "S"]
260行目: 260行目:
  PHP P P
  PHP P P
  Swift S t
  Swift S t
  </source>
  </syntaxhighlight>
<br><br>
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:Python]]
[[カテゴリ:Python]]