今回は、Pythonでリスト、配列、ndarrayの違いにつ

本記事は「ある程度他のプログラミング言語の経験はあるけど、あまりPythonは使ったことがない人を対象としたチートシート」です。私自身の備忘録的な感じでまとめています。
他にもPythonのおすすめ記事をこちらにまとめました。

星の数は記事で紹介しているプログラミングの難易度を示しているよ。自分のレベルに合わせて読んでみてね。
Pythonおすすめ記事
また、Pythonなどのプログラミングを本格的に勉強したのであれば、オンラインでも受講可能な「TECH ACADEMY」がオススメです。
専属のアドバイザーがついてくれるので、短期集中で必要なプログラミング技術を身に着けることができます。

「TECH ACADEMY」よるスキルアップで、もう一段上のエンジニアへステップアップしましょう!

また、AI開発や人工知能アプリに特化してもっと勉強したい人、AIエンジニアの資格取得や転職にチャレンジしてみたいという方には、Aidemyがおすすめです。こちらの記事で詳しく解説しています。

また、AIで転職したい人はこちらの記事もおすすめです。


リストとは?
リストの特徴を以下にまとめてみました。
- 組み込み型でimport不要
- 異なる型を格納できる
- リストのリストで多次元配列も表現可能
- 1次元配列のcsv出力:writerowメソッド

リストの1次元配列と2次元配列の作り方の例を以下に示します。
リストの2次元配列は「リストのリスト」とも呼ばれます。
list_person = ['James', 22, 183]
# ['James', 22, 183]
list_person2 = [['James', 22, 183], ['Dean', 24, 181]]
# [['James', 22, 183], ['Dean', 24, 181]]
配列とは?
配列の特徴を以下にまとめてみました。
- 標準ライブラリのarrayモジュールをimport
- 同じ型しか格納できない(型を指定する)
- 1次元配列のみ

配列(array)は作成するときに型を指定する必要があるよ。
以下の例ではint型を定義しているよ。
import array
arr = array.array('i',[0,1,2]) #iはint型
# print(arr)
# array('i', [0, 1, 2])
ndarrayとは?
mdarrayの特養を以下にまとめてみました。
- NumPyをインストールしてimport
- 同じ型しか格納できない
- 多次元配列を扱える
- 数値計算用のメソッドや関数が豊富

ndarrayは使える数値処理のメソッドや関数が豊富なので、データ演習でよく使うよ。
import numpy as np
arr_2d = np.array([[1,2,3],[4,5,6]])
# print(arr_2d)
# [[1 2 3]
# [4 5 6]]
まとめ
今回は、Pythonでリスト、配列、ndarrayの違いにつ
- listは様々な型を入れられるので便利
- arrayは厳密なメモリが管理ができるが、組み込み開発くら
いでしか使わない - ndarrayは数値計算のライブラリが豊富で便利だが、機械
学習系はpandasのDataFrameを使うケースが多い

表にまとめるとこんな感じです。
リスト | array配列 | Numpy.ndarray | |
import | 不要 | 標準ライブラリarrayをimport | Numpyをインストールして、import |
配列内の型 | 異なる方を格納可 | 単一の型のみ格納 | 単一の方のみ格納 |
型の宣言 | 不要 | 必要 | 不要 |
多次元配列 | 可 | 不可 | 可 |
特徴 | 基本にして便利 | 厳密なメモリ管理 | 数値計算ライブラリが豊富 |
コメント