0
下午好!亲爱的同事!我可能有一个很明显的问题,但对我来说,这可能被认为是一个谜。Python。如何有效地从阵列中删除自定义对象
所以,我有两个自定义类,让它成为A类和B类.B类有一个属性,它包含多个A类实例。它还包含使用此属性的方法:add,remove,get此属性中的单个和所有实例。但是,除了标准的和相当有争议的MVC模式处理,我想知道:什么是最有效和最快速的方法来从Python中的这个属性(数组)中移除一个对象,它实现了一些定制(比如比较对象由id,标题和其他属性)。
我已经实现了我自己的,但对于这样一个基本操作来说似乎太复杂了。
class Skill:
def __init__(self, id_):
self.id = id_
class Unit:
def __init__(self):
self.skills = []
def get_skills(self):
return self.skills
def get_skill(self, index):
return self.skills[index]
def add_skill(self, skill):
self.skills.append(skill)
def remove_skill(self, skill_to_remove):
self.skills = filter(lambda skill: skill.id != skill_to_remove.id, self.skills)
非常感谢您的协助!这解决了我的一些犹豫;) – 2015-03-31 13:56:41
很高兴它帮助 - 请考虑接受我的答案使用左侧的“打勾”按钮! ;-) – DNA 2015-03-31 14:28:18