假设我有两个大列表,list_of_A_objects 包含类 A 的对象,list_of_B_objects 包含类 B 的对象。
它们都有字符串成员。
我想要能够搜索两个列表中的所有元素,并且如果 A 对象的字符串成员是 B 对象的字符串成员的子字符串,我想要执行某些操作。
下面的代码对于较小的列表来说是可以的,但是如果列表很大,它可能需要很长时间。
有没有一种方法可以使这个过程更快呢?我一直在考虑以某种方式使用字典,因为它们具有快速查找的功能,但我无法想出具体实现方法。
这是我目前拥有的代码。
class A:
def __init__(self, x):
self.string = x
class B:
def __init__(self,x):
self.string = x
list_of_A_objects = get_large_list_of_A_objects()
list_of_B_objects = get_large_list_of_B_objects()
for A_object in list_of_A_objects:
for B_Object in list_of_B_objects:
if A_object.string in B_Object.string:
do_something()