我被困在試圖弄清楚如何正確聲明對象列表(列表)的對象。考慮下面的Python代碼:Python中自定義對象列表清單
short_list = [] * 5
for in range(5):
c = MyClass()
short_list.append(c)
super_list = [[short_list] * 100] * number_of_users
super_list [0]旨在是其他列表的一些列表,它包含與用戶信息0,super_list用於用戶1,持續[1]。這些列表最終組織「MyClass」類型的對象組。我的問題是,設置super_list [0]內的列表元素的值也會更改super_list [1]中相應的列表元素。 super_list [0]和super_list [1]總是完全相同。
我該如何聲明short_list和/或super_list給我列表的相同的概念組織,我試圖實現super_list [0]和super_list [1]的行爲和行爲作爲兩個單獨的列表?
儘管如此,'super_list [0] [0] super_list [1] [0]',雖然現在你已經解決了super_list的'問題[0] super_list [1]'。 – icktoofay 2012-03-03 04:03:30
不錯,謝謝。雖然我從OP的問題中收集到了不需要深層複製的問題,但增加了一個評論:深層複製。 – 2012-03-03 04:06:10