Python入門トップページ


目次

  1. プログラミング言語
  2. Anaconda - Jupyter Notebook / JupyterLab の環境設定
  3. Python の基礎
  4. リスト,タプル,辞書,集合
  5. 再び Jupyter Notebook の操作
  6. Python の制御構文
  7. 関数
  8. 便利な関数など
  9. リストの内包表記
  10. 多次元リスト
    1. 1次元リスト
    2. 2次元リスト
    3. 3次元リスト
  11. クラス
  12. 演習問題
  13. 雑多な情報

Python の基礎

多次元リスト

ここで説明したリストは,要素を1次元に並べたものであった.Pythonでは1次元のリストだけでなく,2次元や3次元以上のリストを扱うことも可能である.まずは1次元リストから確認しよう.

1次元リスト

1次元リストの作成は []で要素を囲めば良い.

# 1次元リスト
a1 = [1,2,3,4,5]
a1
[1, 2, 3, 4, 5]

1次元リストのインデックスは0からスタートする.つまりa1[1] では2 が表示されることに注意しよう.

a1[1]
2

インデックス5は存在しないので,エラーになる.

a1[5]
-------------------------------------------------------
IndexError            Traceback (most recent call last)
<ipython-input-3-c2fe1e305f1d> in <module>
----> 1 a1[5]

IndexError: list index out of range

インデックスの範囲を[2:5]のように指定することもできる.

a1[2:5]
[3, 4, 5]

リストのサイズはlen()で得ることができる.

len(a1)
5

すべての要素を0で初期化したリストを作成することもできる.

# ゼロで初期化する
b1 = [0] * 10
b1
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

0で初期化したあと,特定の要素だけ値を書き換えてみる.

b1[3] = 99
b1
[0, 0, 0, 99, 0, 0, 0, 0, 0, 0]

リストは非常に柔軟性が高く,数値と文字列を混在させたり,リストの要素の中にさらにリストを含めることも可能です.

数値と文字列を混在させるa1 = [1, 'two', 3, '4', 'five']
a1
[1, 'two', 3, '4', 'five']
リストの中にリストを含めるa1 = [1, 2, 3, [1, 1, 1, 1], 5]
a1
[1, 2, 3, [1, 1, 1, 1], 5]

しかしながら,柔軟性(自由度)の高さは処理速度の観点からはマイナスになります.多数のデータを高速に処理したい要な場合には NumPy 配列 を使うことをおすすめします.状況にもよりますがNumPyを使うことで同じ処理を50倍以上の速度で実行できることもあります.

目次に戻る