我需要一些启示,以创造字典的价值返回。我只能在字典中看到最后一个值。
bgp_net值
 network 10.29.92.76 mask 255.255.255.255
 network 10.29.92.77 mask 255.255.255.255
 network 10.29.92.83 mask 255.255.255.255
 network 10.237.32.0 mask 255.255.255.224
 network 10.239.1.101 mask 255.255.255.255bgp_network_adv = {}
bgp_network = confparse.find_all_children(r"^router bgp")
for network in bgp_network:
    if 'network' in network:
        bgp_net= network.strip().split(' ')[1:4:2]
        bgp_network_adv = {'network':([a for a in bgp_net])}
        print (bgp_network_adv)输出
   {'network': ['10.239.1.101', '255.255.255.255']}我期望得到字典中存储的其余的值。
提前感谢
发布于 2020-07-10 07:55:14
将dict.setdefault与list.extend结合使用
Ex:
for network in bgp_network:
    if 'network' in network:
        bgp_net= network.strip().split()[1:4:2]
        bgp_network_adv.setdefault('network',[]).extend(bgp_net)
        print (bgp_network_adv)发布于 2020-07-10 07:56:19
对于每个key对,您需要有唯一的key/value。在您的代码中,您正在为所有对设置network键。所以,它被改写了。您应该寻找另一个模型来存储数据。一种方法是在你的钥匙上附加一个计数器。例如:
network0
network1
network2
...https://stackoverflow.com/questions/62829609
复制相似问题