Задать вопрос
@DVoropaev
Ставлю + к карме на хабре за ответы на вопросы

Почему при двух способах задания одинакового списка, он занимает разный объем памяти?

>>> a = [[i for i in range(0, 5)] for j in range(0, 2)]
>>> a
[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
>>> sys.getsizeof(a)
96

>>> a = [[0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
>>> a
[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
>>> sys.getsizeof(a)
80
  • Вопрос задан
  • 547 просмотров
Подписаться 3 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
de-iure
@de-iure
just a crazy lawyer
потому что это разные объекты... в первом случае это генератор списка, во втором это список

>>> a = [[i for i in range(0, 5)] for j in range(0, 2)]
>>> a
[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
>>> sys.getsizeof(a)
96

тут у вас выводится не объем памяти который занимает сгенерированный список, а объем памяти который занимает непосредственно сам генератор...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
SpectrumData Екатеринбург
от 150 000 до 250 000 ₽
Wanted. Москва
До 250 000 ₽
AST Москва
До 350 000 ₽
14 янв. 2025, в 13:32
4000 руб./за проект
14 янв. 2025, в 13:29
5000 руб./за проект
14 янв. 2025, в 13:14
6000 руб./за проект