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倍以上の速度で実行できることもあります.

目次に戻る