我有两组多个IP范围。每个IP范围是一对(startIP, endIP)
多头。所以,我有两套a
和b
-不同的IP组之间的IP范围
a = [(start11, end11), (start12, end12)...]
b = [(start21, end21), (start22, end22)...]
我希望能够找到这在a
但不是在b
的IP地址。换句话说,set(ips_a) - set(ips_b)
。
我试图蛮力检查a
中的每个IP对b
,但这个过程需要永久,因为每个集合中有超过1亿个IP。
想知道什么是最优化的方式来做到这一点。此外,如果任何现有的模块这样做。
请添加一个实际的例子(和你试过的...)。 –
你想要的代码?我在'a'的每个范围内取每个IP,并在'b'中对每个'start,end'进行检查。只是为了循环。 – hyades
那不是代码,那是代码 –