Python - 文法 - 配列・リスト(list) - 基本①

クラウディア 
1. 概要
2. 初期化
3. 全件
4. 2番目から
5. 多重ループをぬける
6. 追加
7. ソート
8. スワップ

1. 概要

 わたしの気になっているとこだけね。  本ページは、下記のサイトを参考にさせていただきました。
Python でリストをソートする sort と sorted の違い」
「説明のないとってもシンプルなサンプルプログラム集」
「[小ネタ]Pythonのループ内でリストの要素を削除する時の注意点」
「Pythonで変数やリストの値を入れ替え(交換・並べ替え)

2. 初期化

 型はないのでね。

variables = []
 上記で「variable」は、単なる変数なので、お間違えなきよう。

3. 全件

 配列の要素を全件取得するループを書くのは、こんな感じ。

list = [ 'hoge', 'fuga', 'piyo' ]

for item in list:
  print(item)

4. 2番目から

 前項のものを2番目以降取得するループを書くのは、こんな感じ。

array = [ 'hoge', 'fuga', 'piyo' ]

for item in array[1:]:
  print(item)

5. 多重ループをぬける

 本項は、「Pythonで多重ループ(ネストしたforループ)からbreak | note.nkmk.me」を参考にさせていただきました。  多重ループを抜けるには、他の言語では、フラグを使って外のループで判定したり、メソッドや関数を作って、一気にリターンしたりしますが。  「Python」では、「break」「else:」「continue」を組み合わせると一気に抜けられるようです。  「for 文」内で、「else」中のがなじめないですが、なかなか便利。  ただし、わたしは、くっきりは理解できていない(2020年6月10日)。

for i in range(1, 5):
  print("外側のループ", i)

  for j in range(6, 10):
    print("内側のループ", i, j)

    if (j == 8):
      break
  else:
    continue
  break
 というソースを書いて実行すると、下記の結果が得られます。

外側のループ 1
内側のループ 1 6
内側のループ 1 7
内側のループ 1 8
 うすらぼんやりとは、理解できます。  三重になると、頭がこんがらがってくる。

for i in range(1, 5):
  print("外側のループ", i)

  for j in range(6, 10):
    print("内側のループ", i, j)

    for k in range(11, 15):
      print("内側のループ", i, j, k)

      if (k == 13):
        break
    else:
      continue
    break
  else:
    continue
  break
 というソースを書いて実行すると、下記の結果が得られます。

外側のループ 1
内側のループ 1 6
内側のループ 1 6 11
内側のループ 1 6 12
内側のループ 1 6 13
 各ネストに「break」「else:」「continue」が必要らしい。

6. 追加

 配列に要素を追加するには、「append」という、メソッドを使います。

variables.append(追加要素)

7. ソート

 ソートは

variables.sort()
variables.sorted()
 「sort」は、戻り値は「None」で、配列自体をソートします。  「sorted」は、戻り値が元の配列をソートした配列で、元の配列はソートされません。

8. スワップ

 配列の中の値を入れ替える、スワップ。  既存の言語では、第三者となるワーク変数をつくって、いったん退避後、入れ替えるという手法を取ります。  その点、「python」は、比較的新しい言語であるためか、スワップ用の構文を持っています。  例えば、配列の1番目と3番目を入れ替える際は

l[0], l[2] = l[2], l[0]
 と、一つの文で表現できます。
earthcar(アースカー)
世界最大級のオンライン英会話EF English Live
健康サポート特集