向Python字典添加术语

向Python字典添加术语,python,dictionary,hierarchy,Python,Dictionary,Hierarchy,我有以下有效字典。我试图在“扩展模块”组下添加另一组术语 我想在“扩展模块”下添加以下内容,但不删除“1” 下面的代码添加了我想要的内容,但删除了现有的术语 print lan_router['HOSTNAME1']['chassis'][0]['expansion_modules'][1]['expan_model'] lan_router['HOSTNAME1']['chassis'][0]['expansion_modules'] = { 2: {} } lan_router['HOST

我有以下有效字典。我试图在“扩展模块”组下添加另一组术语

我想在“扩展模块”下添加以下内容,但不删除“1”

下面的代码添加了我想要的内容,但删除了现有的术语

print lan_router['HOSTNAME1']['chassis'][0]['expansion_modules'][1]['expan_model']

lan_router['HOSTNAME1']['chassis'][0]['expansion_modules'] = { 2: {} }
lan_router['HOSTNAME1']['chassis'][0]['expansion_modules'][2] = {'pic_slot' : 1, 'expan_model' : 'EX45504XSFP'}

您不需要线路-
lan_路由器['HOSTNAME1']['chassis'][0]['expansion_modules']={2:{}
,它正在替换
expansion_modules
中的字典,只需删除此项并执行rest即可

代码-

print lan_router['HOSTNAME1']['chassis'][0]['expansion_modules'][1]['expan_model']

lan_router['HOSTNAME1']['chassis'][0]['expansion_modules'][2] = {'pic_slot' : 1, 'expan_model' : 'EX45504XSFP'}

您不需要线路-
lan_路由器['HOSTNAME1']['chassis'][0]['expansion_modules']={2:{}
,它正在替换
expansion_modules
中的字典,只需删除此项并执行rest即可

代码-

print lan_router['HOSTNAME1']['chassis'][0]['expansion_modules'][1]['expan_model']

lan_router['HOSTNAME1']['chassis'][0]['expansion_modules'][2] = {'pic_slot' : 1, 'expan_model' : 'EX45504XSFP'}
按如下方式访问它:

lan_路由器['HOSTNAME1']['chassis'][0]['expansion_modules'][2]={}

像这样访问它:


lan_路由器['HOSTNAME1']['chassis'][0]['expansion_modules'][2]={}

Anand的答案是正确的,因为它回答了您的问题

我想补充一点,通常以[0,1,…]为键的字典应该只是列表。而不是:

'expansion_modules':{
    1:{
        'pic_slot': 1,
        'expan_model': 'EX4550VCP'
    },
    2:{ ... }
}
也许你应该:

'expansion_modules':[
    {
        'pic_slot': 1,
        'expan_model': 'EX4550VCP'
    },
    { ... }
]

阿南德的回答是正确的,因为它回答了你的问题

我想补充一点,通常以[0,1,…]为键的字典应该只是列表。而不是:

'expansion_modules':{
    1:{
        'pic_slot': 1,
        'expan_model': 'EX4550VCP'
    },
    2:{ ... }
}
也许你应该:

'expansion_modules':[
    {
        'pic_slot': 1,
        'expan_model': 'EX4550VCP'
    },
    { ... }
]

放下第二行,放下第二行。