名單我在蟒蛇是新的, 我想和結構化列表的工作:結構與Python
class X_ItemSet: # Structure of an Item
Item = []
ItemTID = []
oneItem = X_ItemSet #one instance of X_ItemSet
ListTID = [X_ItemSet] #Liste of X_ItemSet
oneItem.Item.append(1)
oneItem.ItemTID.append("a")
ListTID.append(oneItem)
del oneItem[:]
我的問題是刪除oneItem時也ListTID將是空的 我應該怎麼做,以保持值ListTID刪除oneItem時?
Python通過引用傳遞事物,因此當您刪除oneItem時,它會從包括您的列表在內的任何地方消失。通常,您不應該刪除變量並讓GC處理事情。你爲什麼要明確地刪除它呢? –
我試着運行你的代碼,並在最後一行得到'TypeError:'type'對象不支持項目刪除'。如果我將其更改爲「del oneItem」,則「ListTID」仍包含值。你確定這個確切的代碼是否導致ListTID爲空? – Kevin
您尚未創建'X_ItemSet'的單個實例。 'oneItem = X_ItemSet'和'ListTID = [X_ItemSet]'都不會創建一個實例。你在那裏使用實際的類對象,'Item'和'ItemTID'是類變量而不是實例變量。 – user2357112