需要Python字典循环帮助吗
当我运行这个for循环时,我得到以下结果:需要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
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)