如何在Python中命名嵌套字典的每个实例?

2024-09-28 22:01:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我写这段代码是为了创建一个嵌套字典,但是我无法命名每个实例。你知道吗

def genvlandict(num,attrs):
    val=num
    vlans = []
    for i in range(val):
       vlans.append(dict([("Vlan_Attr"+str(i)+'.'+str(x), "val"+str(i)+'.'+str(x)) for x in range(0, attrs, +1)]))
    return vlans

print(json.dumps(genvlandict(5,3), indent=1))

我可以得到一些帮助来获取嵌套字典中每个字典实例的名称吗?你知道吗


Tags: 实例代码infor字典defrangeval
1条回答
网友
1楼 · 发布于 2024-09-28 22:01:29

vlans改成字典?只要稍作改动,您的代码就会如下所示:

import json

def genvlandict(num,attrs):
    val=num
    vlans = {}
    for i in range(val):
       vlans['dict%d' % i] = dict([("Vlan_Attr"+str(i)+'.'+str(x), "val"+str(i)+'.'+str(x)) for x in range(0, attrs, +1)])
    return vlans

print(json.dumps(genvlandict(5,3), indent=1))

导致:

>>> 
{
 "dict4": {
  "Vlan_Attr4.2": "val4.2", 
  "Vlan_Attr4.1": "val4.1", 
  "Vlan_Attr4.0": "val4.0"
 }, 
 "dict1": {
  "Vlan_Attr1.2": "val1.2", 
  "Vlan_Attr1.0": "val1.0", 
  "Vlan_Attr1.1": "val1.1"
 }, 
 "dict0": {
  "Vlan_Attr0.2": "val0.2", 
  "Vlan_Attr0.1": "val0.1", 
  "Vlan_Attr0.0": "val0.0"
 }, 
 "dict3": {
  "Vlan_Attr3.0": "val3.0", 
  "Vlan_Attr3.1": "val3.1", 
  "Vlan_Attr3.2": "val3.2"
 }, 
 "dict2": {
  "Vlan_Attr2.1": "val2.1", 
  "Vlan_Attr2.0": "val2.0", 
  "Vlan_Attr2.2": "val2.2"
 }
}
>>> 

相关问题 更多 >