2017-04-20 50 views
1

在Python中,为什么列表需要更多时间来创建,而不是一个普通的变量?为什么列表需要更多时间在Python中创建?

比方说,你创建2个变量:

x = 1 
y= [1] 

比方说,你这些变量数百万次,并比较他们的时间来运行。

由于Python中的所有变量都是在堆上创建的,为什么变量y(列表)需要更多时间来创建比x?

+4

因为'x'只需要创建一个'1'而'y'创建一个'list'和一个'1' ... – abccd

+0

这个问题的“真实生活”版本是:为什么需要构建和包装一个项目的时间比构建它更多的时间。 –

回答

2
  1. 该常数被预加载为“常用”常数。在x赋值中没有内建新对象,只是复制现有对象的引用。
  2. 列表是一个可变对象,需要类实例化,包括执行需要解析的开放式值的构造函数 - 最小但不是不重要。
相关问题