питон версия: Python 3.6.0b3 (по умолчанию, 16 ноября 2016, 16:55:09)почему sys.getsizeof возвращает тот же результат для очень больших списков
У меня есть следующий вывод:
>>> sys.getsizeof([0 for x in range(10**7)])
81528056
>>> sys.getsizeof([0 for x in range(10**8)])
859724472
>>> sys.getsizeof([0 for x in range(10**8+100500)])
859724472
>>> sys.getsizeof([0 for x in range(10**9)])
8058558880
Length of lists:
>>> len([0 for x in range(10**8)])
100000000
>>> len([0 for x in range(10**8+100500)])
100100500
>>>
Почему у меня такой же getsizeof
выхода для списков, которые являются Len: 10**8
и 10**8+100500
?
Но почему это изменение размера? Каждая строка создает новый список – Arseniy
Поскольку понимание списка вытягивает записи из объекта «range» по одному за раз, что приводит к детерминированному поведению. –
Я попытался запустить эти 2 команды в отдельных терминалах, результат был таким же. – Arseniy