浮動小数点の配列は、中身の値でメモリーサイズは異なりますか?
a = [0.123456789, 0.123456789]
b = [0.0, 0.123456789]
上記の場合消費メモリーは
a=bでしょうか。
a>bでしょうか。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
teefpcさんが欲しいメモリーサイズが何かによります。
私の使っているPythonとteefpcさんの使っているPythonはバージョンが違うので値は少し違いますが以下のような結果になります。
python
1>>> print(sys.getsizeof([0.123456789] * 100)) 2856 3>>> print(sys.getsizeof([[0.123456789]*100] * 100)) 4856 5>>> print(sys.getsizeof(['a'] * 100)) 6856 7>>> print(sys.getsizeof(['abcdefghijklmnopqrstuuvxyz'*100] * 100)) 8856
これで表示されている値は、100個の要素を持つリストという入れ物のブジェクトが作られたときの値を示しています。
もしも消費しているメモリ全体を計算したければ、この値に格納されているそれぞれのオブジェクトのメモリーサイズを加える必要があります。
また、リストオブジェクトの大きさは作成方法によって違う場合があります。
Python
1>>> a = [0.123456789] * 2 2>>> b = [0.123456789] 3>>> a.pop() 40.123456789 5>>> print(a) 6[0.123456789] 7>>> print(b) 8[0.123456789] 9>>> print(sys.getsizeof(a)) 1072 11>>> print(sys.getsizeof(b)) 1264
こういうものだということを理解しておいてください。
投稿2021/07/13 14:49
総合スコア24670
0
ベストアンサー
オブジェクトのサイズを知るためにsys.getsizeof()
を使うことができます。
Python
1import sys 2a = [0.123456789, 0.123456789] 3print(sys.getsizeof(a))
sys — System-specific parameters and functions — Python 3.9.6 documentation
投稿2021/07/13 14:08
編集2021/07/13 14:10総合スコア8402
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/13 14:58