Я создал два списка l1
и l2
, но каждый из них имеет другой метод создания:
import sys
l1 = [None] * 10
l2 = [None for _ in range(10)]
print('Size of l1 =', sys.getsizeof(l1))
print('Size of l2 =', sys.getsizeof(l2))
Но результат удивил меня:
Size of l1 = 144
Size of l2 = 192
Список, созданный с учетом списка, имеет больший размер в памяти, но два списка идентичны в Python.
Это почему? Это какая-то внутренняя вещь CPython или какое-то другое объяснение?