将列表中的IP与python中的子网列表相关联

时间:2016-12-05 13:53:21

标签: python list

我有一个列有"下一跳" ip地址大约12.000长(mylist)。我要做的是根据包含出站接口和相关子网的其他列表找到出站接口。此列表包含约3,000个项目。所以基本上,我想将IP与子网络匹配,以便获得出站接口,例如172.17.32.2属于' 172.17.235.2/255.255.255.252'所以'千兆以太网1/0/0'应与172.17.32.2相关联。前缀不固定。以下是有效的,但由于12 * 3 * 10 ^ 6'如果'声明被执行。:

for i,ip in enumerate(mylist):
    for j,member in enumerate(outbound):
        if ipaddress.ip_address(ip) in ipaddress.ip_network(member[0],strict=False):
           tmp.insert(0,ip)
           #member[1] contains the interfaces, member[0] the subnetworks
           tmp.insert(1,member[1]) 
           result.append(tmp)
           tmp=[]

请问专家能否更快/更有效?请提前做好。

0 个答案:

没有答案