リストと配列の違い
リストと配列は角括弧記号を用いて扱われるので一見すると混用しがちだが、多くの違いがある。
整数値との間の乗算演算子
code:array_and_list1.py
import numpy as np
l1 = 1, 2, 3
v1 = np.array(l1)
print('演算子:* オペランド:整数')
l2 = l1*3
v2 = v1*3
print(l2)
print(v2) # 各要素を整数倍したndarrayが生成される
整数値を掛けるという操作に対して、
リスト:その回数だけ反復したリストが生成される。
配列:全要素に対して整数値を掛けた結果の配列が生成される。
リスト同士、配列同士の加算演算子
code:array_and_list2.py
import numpy as np
l1 = 1, 2, 3
l2 = 4 ,5, 6
v1 = np.array(l1)
v2 = np.array(l2)
l3 = l1 + l2
v3= v1 + v2
print('リスト\n', l3)
print('配列\n', v3)
リスト同士、配列同士の加算という操作に対して、
リスト:2つのリストを連結し、新たなリストを生成する。
配列:対応する要素同士で加算を行い、新たな配列を生成する。このように、配列の間で算術演算子が用いられたときは、対応する要素同士での演算が行われる。(参考:ブロードキャスト)
その他の違い
リストの操作で示したように、リストは要素の追加や削除が行えるのに足して、配列は生成時に指定した形状を変更することはできない。
リストはあくまでも「1列の要素の並び」であるのに対して、配列は各軸方向(ヨコやタテ)に対する長さが揃っている必要がある。
https://scrapbox.io/files/6510f5c0ac0f25001b351450.png
 図:こんな形状の行列は定義できない
/icons/hr.icon
※ ブラウザのバックボタンで戻る