比方說,我有在Python以下空二維數組:值分配給在二維蟒蛇陣列的單個細胞
q = [[None]*5]*4
我想在第一5
值分配給第一排專欄q
。本能地,我執行以下操作:
q[0][0] = 5
然而,這產生了:
[[5, None, None, None, None],
[5, None, None, None, None],
[5, None, None, None, None],
[5, None, None, None, None]]
每陣列的第一個元素被初始化爲5
,其中我認爲第一的僅第一元件數組將得到更新。我有兩個問題:
- 爲什麼Python初始化每個數組的第一個值而不是第一個?
- 有沒有更好的方法來完成我想要做的事情?
1爲字典作爲基質。 – 2012-02-27 02:37:12
如果您分享導致80%的價值的研究,我會給你+1。 – 2012-02-27 02:38:46
這是帕累託原則。 http://en.wikipedia.org/wiki/Pareto_principle。 80%的時間,你只需要20%的數據結構。 – 2012-02-27 02:49:38