0874デフォルトの名無しさん (ワッチョイ 9d01-lNhc)
2024/05/15(水) 23:48:19.33ID:heFIaB2P0配列の領域を動的に拡張する動的配列の話と
ヒープというか1つの配列で複数の型の値を管理する話がごちゃ混ぜになってたのね
動的配列であるPythonのlistも連続したメモリ領域(内部はCのarray)
先頭アドレス+インデックスでインデックス番目の要素にO(1)でアクセス可能
連続メモリ領域である配列に型の異なる要素を入れられるのは
PyObjectというオブジェクトへのポインタを格納してる配列だから
intやfloatを格納してもポインタの間接参照が必ず入るので
それを必要としないarray.arrayやndarrayに比べるとシーケンシャルスキャンなどは遅い