我在Python中设计了自己的类,如下所示:
class Main:
def __init__(self):
self.list = list() # Contains TestA objects
class TestA:
def __init__(self, start_time, end_time):
self.elements = list() # Contains TestB objects
self.start_time = start_time
self.end_time = end_time
class TestB:
def __init__(self, timestamp):
self.timestamp = timestamp
Main
类的列表包含TestA
类的对象,而TestA
类中的列表包含TestB
类的对象。下面是一个示例:
testB1 = TestB(121)
testB2 = TestB(155)
testB3 = TestB(891)
testB4 = TestB(901)
testA1 = TestA(100, 200)
testA1.elements.append(testB1)
testA1.elements.append(testB2)
testA2 = TestA(500, 1000)
testA2.elements.append(testB3)
testA2.elements.append(testB4)
main = Main()
main.list.append(testA1)
main.list.append(testA2)
现在,我想根据时间戳过滤对象。首先,我想检索在特定范围内具有TestA
和TestA.start_time
的所有TestA.end_time
对象。其次,我想检索在给定范围内具有TestB
的所有TestB.timestamps
对象。当然,我可以循环遍历所有TestA
和TestB
对象,但是如果有很多对象,这效率很低。
有没有更有效的方法?