我想我已經解決了我自己的問題,但我正在尋求更好的理解爲什麼,或者開明/設置直。填充列表 - 什麼是python在做什麼?
我有一個列表我打電話VEC:
vec = [0.0, 0.0]
數據在讀取其中的變化值
,以比較當前和以前的值,我還有一個名單,我稱之爲oldvec 。 如果我定義爲oldvec
oldvec = vec
那麼每次VEC的變化值的變化值,所以比較是沒有用的 - 他們總是相同的。
不過,如果我不是寫
oldvec = [vv for vv in vec]
我沒有這個問題 - oldvec保持其價值甚至VEC的變化,所以當前和先前向量之間的比較可以作爲我需要它,即它實際上檢測重複和不重複! ...爲什麼?
只需添加到下面的所有很好的答案,你可能會喜歡閱讀的會員斯內德爾德與可愛的圖,[關於Python的名稱和值事實與神話]全面的文章(http://nedbatchelder.com /text/names.html)。 – 2014-10-05 05:43:47
[Python引用]的可能重複(http://stackoverflow.com/questions/2797114/python-references) – simonzack 2014-10-05 06:46:19
哇,太棒了!非常感謝所有優秀的信息(包括鏈接)。 – user3903270 2014-10-05 06:52:59