Pythonのリスト・配列・ndarrayの違いを解説

スポンサーリンク
この記事は 約5 分で読めます。

今回は、Pythonでリスト、配列、ndarrayの違いについて解説します。

なつめ
なつめ

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


スポンサーリンク

リストとは?

リストの特徴を以下にまとめてみました。

  • 組み込み型で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
配列内の型 異なる方を格納可 単一の型のみ格納 単一の方のみ格納
型の宣言 不要 必要 不要
多次元配列 不可
特徴 基本にして便利 厳密なメモリ管理 数値計算ライブラリが豊富

他にもPythonのおすすめ記事をこちらにまとめました。

なつめ黒猫
なつめ黒猫

星の数は記事で紹介しているプログラミングの難易度を示しているよ。自分のレベルに合わせて読んでみてね。

理系王子
理系王子

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

人工知能AIやpythonプログラミングを初心者でも学べるオンライン学習Aidemyの評判
人工知能AIに特化したオンラインのプログラミングスクール「Aidemy」プレミアムの評判や口コミ、Python言語を使った学習内容や実際に作るAIアプリ例、他のスクールとの受講料や期間を比較して、分かりやすくご紹介します。

 

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

高収入なAIエンジニアに転職するならPythonが有利な4つの理由
AIエンジニアに転職するならプログラミング言語「Python」を勉強した方が有利な理由をご紹介しています。
AIエンジニアの求人がさらに好待遇になる4つの理由
AIエンジニアが好待遇で求人される理由についてご紹介します。
Pocket

コメント