Most efficient way to find objetcs in list of objects
本问题已经有最佳答案,请猛点这里访问。
我有一个列表或数组(Python中的正确术语是什么?)物体的让所有对象匹配一个条件的最有效方法是什么?
我可以遍历列表并检查每个元素,但这似乎不是很有效。
1 2 3 4 | objects = [] for object in list: if object.value =="123": objects.add(object) |
这是最简单的方法:
1 | objects = [x for x in someList if x.value == 123] |
如果您正在寻找一个更快的解决方案,您必须告诉我们关于您的对象以及如何构建源列表的更多信息。例如,如果所讨论的属性在对象中是唯一的,那么使用
您可以使用
1 | objects = filter(lambda i: i.value == '123', l) |
自我笔记显然,"过滤与列表竞争"的辩论开始了火焰大战。