実務に生かすPythonサンプル

【Python】2次元配列の使い方まとめ【現役エンジニアが解説】

こんにちは。現役Webエンジニアの三年坊主です。

 

今回は、Pythonで2次元配列を使いたい人の、このような疑問に答えます。

「Pythonで2次元配列を使いたい。配列の定義方法や要素を指定する方法を知りたい。少し分かりにくかったので、NumPyを使った方法も確認しておきたい。」
 

この記事では、大学の研究と自分の趣味で、合わせて5年以上Pythonを使ってきた経験を生かして、Pythonで2次元配列を使う方法を紹介します。

 

この記事の内容

  • Pythonにおけるリスト(list)・配列(array)・numpy.ndarrayの比較
  • Pythonで2次元配列を定義・操作する【コピペ用】

 

Pythonにおけるリスト(list)・配列(array)・numpy.ndarrayの比較

1つの値だけでなく、複数の値を並べて一つにまとめて格納するデータ型を「配列」と呼びます。

数字などの値を、縦と横の2次元に並べた「2次元配列」をPythonで操作する方法を説明します。

 

Pythonではこのような「配列」を作ることができるデータ構造がいくつかあります。簡単に比較した後に、次の見出しで実際に動かせるコードの例を紹介します。

 

リスト(list)

参考:4.6.4. リスト型 (list)

 

整数型(int)であっても浮動小数点型(float)であっても、まとめて一つのリストに含めることができます。

リストの中にリストを入れることができるので、あとでその機能を使って2次元配列を作ります。

 

 

配列(array)

参考:8.7. array — 効率のよい数値アレイ

 

arrayの場合は、最初に指定した型しか要素に含めることができません(たとえば ‘i’ を指定したら、そのarrayには整数型の要素しか入れられない)。指定した以外の型を含めるとエラーが発生します。

リストを要素として含めることもできないので、arrayを使って2次元配列を作ることはできません

 

 

numpy.ndarray

参考:The N-dimensional array (ndarray)

 

np.arrayのコンストラクタに、Pythonのデータ型(リストなど)を与えて、新しいndarrayを作成します。

当然ですがnumpyモジュールのインポートが必要です。

 

 

 

Pythonでは「リスト」と「配列」という言葉をあまり厳密に区別しないので混乱してしまいがちですが、「Pythonで2次元配列」と言ったときに使うのは、リストやnumpy.ndarrayを使ったデータのことです

 

 リスト(list)配列(array)numpy.ndarray
タイプ組み込み型標準ライブラリ(要インポート)NumPy(要インポート)
要素の型異なる型の要素を格納できる全て同じ型の要素(文字、整数、浮動小数点型…)全て同じ型の要素(文字、整数、浮動小数点型…)
形の変更動的に変更できる動的に変更できる形を変えるには新しく作り直す必要あり

 

配列(array)を使って2次元の配列を作ることはできないので、次の見出しでは、「2次元配列」としてリスト(list)とnumpy.ndarrayを見ていきます。

 

Pythonで2次元配列を定義・操作する【コピペ用】

 

定義・要素の読み出し【リスト(list)】

同じ要素を繰り返しリストに入れるときに使います。この場合はlist_2のように内包表記を使うのがオススメです。

 

 

要素ごとに直接値を指定して作成することもできます。

 

要素の変更・追加・削除【リスト(list)】

要素を指定できれば、あとは1次元の配列と変わらず、要素の変更・追加・削除ができます。

 

「縦と横の長さがそろっていない・・・」

 

「柔軟に使えるリストならでは、とも言えますね。」

 

 

定義・要素の読み出し【numpy.ndarray】

 

要素の変更・追加・削除【numpy.ndarray】

 

Pythonで2次元配列を使いこなして、快適なエンジニア生活を送りましょう。

 

 

より本格的にPythonを学ぶなら

より本格的にPythonを学びたい場合には、プログラミングスクールを活用するのがオススメです。

プログラミングスクールって、「プログラミングって何?」みたいな超初心者だけのものと思っていませんか?

最近では、経験者向けにも、レベルや希望に合わせた様々なコースが展開されています。

オススメなのが、Aidemyです。

特徴は、人工知能特化型のプログラミング学習サービスということ。

Pythonを学べるコース

  • AIアプリ開発コース(画像認識)
  • データ分析コース(数値予測)
  • 自然言語処理コース
  • E資格対策コース
  • クラウドAI開発コース
  • 実戦データサイエンスコース

Aidemyの教材は「理論よりもまずは実践」をうたっていて、他社と比較すると、かなり本格的に、現場でも実際に使われるスキルを身につけられます。

そして、どのコースも同じ料金で受け放題

余裕があれば、AIアプリ開発コースの内容と、クラウドAI開発コースの内容を組み合わせて学習することもできてしまいます。

無料のカウンセリングで、不明点や学習したい内容をまずは相談してみましょう。

» Aidemyの無料カウンセリングはこちら

 

もう一つオススメなのが、TechAcademyです。

オンラインプログラミングスクール受講者数No.1の実績に加えて、受講生限定の転職サポートもあり、TechAcademyで学んだスキルを生かせる職場への転職も可能です。

「セット割」を活用すると、Pythonを使った人工知能・データ分析のスキルを過不足なく身につけられます。

1週間の無料体験があるので、システムの使い心地やサポート体制をのぞいてみるのがいいかなと思います。

» TechAcademyの無料体験はこちら

 

どちらのスクールも質問サポートが充実していて、早ければその場で、遅くとも次の日には疑問が解消するので、

「独学でプログラミングを勉強してきたけど、行き詰まるたびに時間が奪われるし、周りに気軽に聞ける人もいない」

みたいな無駄な一日を過ごすことがなくなります。

 

以上、Pythonを本格的に学べるプログラミングスクールを2校紹介しました。どちらも最初に20〜30万円くらいの投資が必要ですが、実際にスキルを身につけてしまえば、あとで簡単に回収できるはずです。例えば、

  • Pythonエンジニアに転職して年収を上げる:50万円
  • 副業で業務委託:20万円(時給5,000円で週10時間、1か月)
  • クラウドソーシングの単発案件:5〜10万円

このように、プログラミングスクールにお金を払ってもすぐに回収できることが分かると思います。

実際に、Pythonを使う業務委託で時給5,000円というのは普通にあるので、スキルをつけたら「週末にちょっと作業」を1〜2か月続けるだけですよね。

Google検索で問題解決するのもいいですが、「毎回ちょっと場当たり的に対応していて苦しいな・・・」と感じているあなたは、一度腰を据えてPythonを本格的に学ぶことを選択肢に入れてみてはいかがでしょうか。

記事で紹介したプログラミングスクールの一覧

  • Aidemy→人工知能特化、無料カウンセリングあり
  • TechAcademy→受講者数No.1、1週間の無料体験あり

RELATED POST

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください