需要Python字典循环帮助吗

需要Python字典循环帮助吗,python,dictionary,for-loop,Python,Dictionary,For Loop,当我运行这个for循环时,我得到以下结果: cisco_ios_gig25_uplink = [] userName = 'admin' passWord = 'cisco' cisco_devices = { 'device_type': 'cisco_ios', 'username': userName, 'password': passWord, 'host': '', } dev1 = {'host': 'USSXXXX110A'} dev2 = {'host': 'USSX

当我运行这个for循环时,我得到以下结果:

cisco_ios_gig25_uplink = []



userName = 'admin'

passWord = 'cisco'

cisco_devices = {
'device_type': 'cisco_ios',
'username': userName,
'password': passWord,
'host': '',
}

dev1 = {'host': 'USSXXXX110A'}
dev2 = {'host': 'USSXXXX310A'}
dev3 = {'host': 'USSXXXX203C'}
dev4 = {'host': 'USSXXXX209B'}


for dev in cisco_devices.items():
    cisco_devices.update(dev1)
    cisco_ios_gig25_uplink.append(dict(cisco_devices))
    cisco_devices.update(dev2)
    cisco_ios_gig25_uplink.append(dict(cisco_devices))
    cisco_devices.update(dev3)
    cisco_ios_gig25_uplink.append(dict(cisco_devices))
    cisco_devices.update(dev4)
    cisco_ios_gig25_uplink.append(dict(cisco_devices))
所以我的问题是:为什么python会在它上面循环4次? 我只希望它像下面这样显示-那么我该怎么做呢

[{'device_type': 'cisco_ios', 'username': 'admin', 'password': 'cisco', 'host': 'USSXXXX110A'}, 
{'device_type': 'cisco_ios', 'username': 'admin', 'password': 'cisco', 'host': 'USSXXXX310A'}, 
{'device_type': 'cisco_ios', 'username': 'admin', 'password': 'cisco', 'host': 'USSXXXX203C'}, 
{'device_type': 'cisco_ios', 'username': 'admin', 'password': 'cisco', 'host': 'USSXXXX209B'}, 
{'device_type': 'cisco_ios', 'username': 'admin', 'password': 'cisco', 'host': 'USSXXXX110A'}, 
{'device_type': 'cisco_ios', 'username': 'admin', 'password': 'cisco', 'host': 'USSXXXX310A'}, 
{'device_type': 'cisco_ios', 'username': 'admin', 'password': 'cisco', 'host': 'USSXXXX203C'}, 
{'device_type': 'cisco_ios', 'username': 'admin', 'password': 'cisco', 'host': 'USSXXXX209B'}, 
{'device_type': 'cisco_ios', 'username': 'admin', 'password': 'cisco', 'host': 'USSXXXX110A'}, 
{'device_type': 'cisco_ios', 'username': 'admin', 'password': 'cisco', 'host': 'USSXXXX310A'}, 
{'device_type': 'cisco_ios', 'username': 'admin', 'password': 'cisco', 'host': 'USSXXXX203C'}, 
{'device_type': 'cisco_ios', 'username': 'admin', 'password': 'cisco', 'host': 'USSXXXX209B'}, 
{'device_type': 'cisco_ios', 'username': 'admin', 'password': 'cisco', 'host': 'USSXXXX110A'}, 
{'device_type': 'cisco_ios', 'username': 'admin', 'password': 'cisco', 'host': 'USSXXXX310A'}, 
{'device_type': 'cisco_ios', 'username': 'admin', 'password': 'cisco', 'host': 'USSXXXX203C'}, 
{'device_type': 'cisco_ios', 'username': 'admin', 'password': 'cisco', 'host': 'USSXXXX209B'}]

您正在迭代cisco_设备。如果你想迭代你拥有的不同的开发者,把他们放在一个数组中,然后在上面循环

请尝试以下方法:

[{'device_type': 'cisco_ios', 'username': 'admin', 'password': 'cisco', 'host': 'USSXXXX110A'}, 
{'device_type': 'cisco_ios', 'username': 'admin', 'password': 'cisco', 'host': 'USSXXXX310A'}, 
{'device_type': 'cisco_ios', 'username': 'admin', 'password': 'cisco', 'host': 'USSXXXX203C'}, 
{'device_type': 'cisco_ios', 'username': 'admin', 'password': 'cisco', 'host': 'USSXXXX209B'}]

您的循环不会循环到
dev1
dev2
dev3
dev4
。它在
cisco\u设备
内的字典条目上循环。
cisco_ios_gig25_uplink = []



userName = 'admin'

passWord = 'cisco'

cisco_devices = {
'device_type': 'cisco_ios',
'username': userName,
'password': passWord,
'host': '',
}

dev1 = {'host': 'USSXXXX110A'}
dev2 = {'host': 'USSXXXX310A'}
dev3 = {'host': 'USSXXXX203C'}
dev4 = {'host': 'USSXXXX209B'}


for dev in [dev1, dev2, dev3, dev4]:
    cisco_devices.update(dev)
    cisco_ios_gig25_uplink.append(dict(cisco_devices))

print(cisco_ios_gig25_uplink)