名单我在蟒蛇是新的, 我想和结构化列表的工作:结构与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