2017-04-20 69 views
1

在Python中,爲什麼列表需要更多時間來創建,而不是一個普通的變量?爲什麼列表需要更多時間在Python中創建?

比方說,你創建2個變量:

x = 1 
y= [1] 

比方說,你這些變量數百萬次,並比較他們的時間來運行。

由於Python中的所有變量都是在堆上創建的,爲什麼變量y(列表)需要更多時間來創建比x?

+4

因爲'x'只需要創建一個'1'而'y'創建一個'list'和一個'1' ... – abccd

+0

這個問題的「真實生活」版本是:爲什麼需要構建和包裝一個項目的時間比構建它更多的時間。 –

回答

2
  1. 該常數被預加載爲「常用」常數。在x賦值中沒有內建新對象,只是複製現有對象的引用。
  2. 列表是一個可變對象,需要類實例化,包括執行需要解析的開放式值的構造函數 - 最小但不是不重要。
相關問題