szukałem łatwy sposób poznania bajtów rozmiar tablic i słowników obiektu, jakJak poznać rozmiar bajtów obiektu python, takich jak tablice i słowniki? - Prosty sposób
[ [1,2,3], [4,5,6] ] or { 1:{2:2} }
Wiele tematów powiedzieć używać pylab, na przykład:
from pylab import *
A = array([ [1,2,3], [4,5,6] ])
A.nbytes
24
Ale a co ze słownikami? Widziałem wiele odpowiedzi proponujących użycie pysize lub heapy. Łatwa odpowiedź jest podana przez Torstena Marka pod tym linkiem: Which Python memory profiler is recommended?, ale nie mam jasnej interpretacji wyjścia, ponieważ liczba bajtów nie jest zgodna.
Pysize wydaje się być bardziej skomplikowany i nie mam jasnego pojęcia, jak go jeszcze użyć.
Biorąc pod uwagę prostotę obliczania wielkości, którą chcę wykonać (brak klas ani skomplikowanych struktur), każdy pomysł o łatwy sposób uzyskania przybliżonej oceny wykorzystania pamięci tego rodzaju obiektów?
Z pozdrowieniami.
Próbowałem w ten sposób, ale gdy próbujesz uzyskać rozmiar listy list, otrzymujesz tylko rozmiar listy nadrzędnej, a nie sumę z zagnieżdżonymi listami. Nie wiem, czy piszę kod do rekursji, dostanę prawdziwe wykorzystanie pamięci. – crandrades
@ user1847706 na końcu wpisu, do którego cię przyłączyłem w dokumentach, znajduje się [Zobacz rekursywny format sizeof dla przykładu użycia metody rekursywnie getizeof() w celu znalezienia rozmiaru kontenerów i całej ich zawartości.] (Http: // code .activestate.com/recipes/577504 /) –
Dzięki za odpowiedź. Teraz próbuję dodać program obsługi do obliczenia wykorzystania pamięci dla klasy zdefiniowanej przez użytkownika. – crandrades