タプル、リスト、Ndarrayの1次元配列での四則演算

この記事は個人の実行記録Noteです。個人的な経験からPythonの基本を初心の方向けに紹介します。

§ プログラミング >変数と演算 >配列


 タプル、リスト、Ndarray の配列で特定の演算子を使うことが出来ます。1次元配列の場合で四則演算子(+加算、*積算、-減算、/除算)を比較した。なお、複合演算の場合は関連の四則演算と類似の結果となります。

* タプルの演算

タプルでは加算+と積算*の演算子が条件付きで使用可能。以下の条件が不一致の場合と、減算ー、除算/の演算はErrorになる。 (リストの場合と同じ) 【表1参照】
 加算+ 1要素または多要素 :タプルの加算演算は要素の追加になる。加算はタプルでないといけない。1変数ではErrorになる。なお、要素が1つタプルは、要素の後にカンマを付けてタプルとする必要がある。カンマが無ければ( )内の値だけだと認識され、加算演算はErrorになる。
 積算* 1変数 :タプルの積算演算はタプルを繰り返して追加する。積算演算の場合は1変数でないといけない。1要素のタプルではErrorになる。

* リストの演算

リストでは加算+と積算*の演算子が条件付きで使用可能。以下の場合以外と、減算ー、除算/の演算子はErrorになる。 (タプルの場合と同じ) 【表1参照】
 加算+ 1要素・多要素 :リストの加算演算は要素の追加になる。加算はリストでないといけない。1変数ではErrorになる。リストは1要素の場合はでもカンマは必要ない。
 積算* 1変数 :リストの積算演算はリストを繰り返して追加する。積算演算の場合は1変数でないといけない。1要素のリストではErrorになる。

* Ndarray の演算

Ndarray ではほぼ全ての算術演算が可能。数学のベクトル演算や行列演算に合わせて、行列成分での計算がされれるようになっている。要素毎に算術演算を行うので、要素数に対する一致条件が必要となるが、配列を自動的に調整するブロードキャストが適用される場合もある。 【表1参照】

 加算+ 1変数 :全要素に変数を足す。Ndarray1要素の場合に同じ。ブロードキャストでの配列調整がある。
 加算+ 1要素 :全要素に要素値を足す。1変数の場合に同じ。ブロードキャストでの配列調整がある。
 加算+ 要素数一致 :要素の同じ位置毎に足算する。
 加算+ 要素数不一致 (N/A) :Errorになる。要素数が不一致で、要素毎の計算が出来ない。
 積算* 1変数 :全要素に変数を掛ける。Ndarray1要素の場合に同じ。ブロードキャストでの配列調整がある。
 積算* 1要素 :全要素に要素値を掛ける。1変数の場合に同じ。ブロードキャストでの配列調整がある。
 積算* 要素数一致 :要素の同じ位置毎に掛け算する。
 積算* 要素数不一致 (N/A) :Errorになる。要素数が不一致で、要素毎の計算が出来ない。
 減算ー 1変数 :全要素で変数を引く。1要素Ndarray の場合と同じ。ブロードキャストでの配列調整がある。
 減算ー 1要素 :全要素で要素値を引く。1変数の場合と同じ。ブロードキャストでの配列調整がある。
 減算ー 要素数一致 :要素の同じ位置毎に引算をする。
 除算/ 1変数 :全要素を変数で割る。Ndarray1要素の場合に同じ。ブロードキャストでの配列調整がある。
 除算/ 1要素 :全要素で要素値で割る。1変数の場合に同じ。ブロードキャストでの配列調整がある。
 除算/ 要素数一致 :要素の同じ位置毎に割算する。

* 異なるタイプ間の演算

 異なる配列タイプ間での演算は基本的には不可である。 ただし、Ndarray を含む式では、タプルやリストをNdarrayに変換してから演算を行い、結果はNdarray となる。 【表1参照】

 タプルとリストの演算   : 不可である。
 タプルとNdarrayの演算 : タプルをNdarrayに変換して、Ndarray として演算が行われる。
 リストとNdarrayの演算 : リストをNdarrayに変換して、Ndarray として演算が行われる。


〇 関連する公開記事

 ・ Ndarray(多次元)要素の取得と変更
 ・ Ndarray のcopy複製、append追加、concatenate結合
 ・ Ndarray(多次元配列)の生成
 ・ Ndarray(1次元)の生成と要素の追加、削除、コピー
 ・ Ndarray(1次元)要素の取得と変更


以上

IG.Python Note

PythonプログラミングのためのTips集です。 趣味のPythonプログラミングをしていると、必要なプログラミング情報を自分で取集することが必要になります。 集めた情報を整理しておくと便利なので、個人的な学習メモとして記録を作りました。

0コメント

  • 1000 / 1000