#python #list #types #tuples #sizeof
Вопрос:
Почему размер 2-го списка уменьшился с увеличением элемента «XYZ»? В случае кортежа он увеличился, как и ожидалось.
import sys
l1 = [1,2,3,4, "Quant Tading", "Python"]
t1 = (1,2,3,4, "Quant Tading", "Python")
print(sys.getsizeof(l1)) #output 152
print(sys.getsizeof(t1)) #output 88
import sys
l1 = [1,2,3,4, "Quant Tading", "Python", "xyz"]
t1 = (1,2,3,4, "Quant Tading", "Python", "xyz")
print(sys.getsizeof(l1)) # why size decreased to 120?
print(sys.getsizeof(t1)) # output 96
Комментарии:
1. В моей системе я получаю 112->120 для списков и 96 ->> 104 для кортежей
2. Если эти вещи действительно важны для вас, Python может оказаться неподходящим языком для вашего проекта. Но более чем в 90% случаев, когда я вижу, как люди задают подобные вопросы, это действительно, действительно не имеет значения.
3. я думаю, что второй список теперь является указателем на старый список и на «xyz». если вы переименуете второй список, вы увидите, что первый по-прежнему равен 152 (очевидно), а l2 120 (менее очевидно).