首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用Python创建字典

用Python创建字典
EN

Stack Overflow用户
提问于 2020-07-10 07:51:43
回答 2查看 47关注 0票数 1

我需要一些启示,以创造字典的价值返回。我只能在字典中看到最后一个值。

bgp_net值

代码语言:javascript
运行
复制
 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.255

代码语言:javascript
运行
复制
bgp_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)

输出

代码语言:javascript
运行
复制
   {'network': ['10.239.1.101', '255.255.255.255']}

我期望得到字典中存储的其余的值。

提前感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-10 07:55:14

dict.setdefaultlist.extend结合使用

Ex:

代码语言:javascript
运行
复制
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)
票数 0
EN

Stack Overflow用户

发布于 2020-07-10 07:56:19

对于每个key对,您需要有唯一的key/value。在您的代码中,您正在为所有对设置network键。所以,它被改写了。您应该寻找另一个模型来存储数据。一种方法是在你的钥匙上附加一个计数器。例如:

代码语言:javascript
运行
复制
network0
network1
network2
...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62829609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档