我正在尝试创建一个存储MPLS电路信息的3层字典。我只尝试了2层,但发现信息被字典层中的最后一个条目覆盖了。
一旦我拥有该词典,我希望能够通过print语句向用户呈现该词典中的可用载体。
这是我的字典结构。
carriers = {
'4': {
'AT&T': {
"Role":"Primary", "Interface":"TenGigabitEthernet4/3/0", "Location":"Computer Center"},
'CentPri': {
"Role":"Primary", "Interface":"GigabitEthernet4/0/0", "Location":"Computer Center"},
'CentSec': {
"Role":"Secondary", "Interface":"GigabitEthernet1/2/0", "Location":"ESF"},
'Verizon': {
"Role":"Primary", "Interface":"GigabitEthernet1/0/0", "Location":"ESF"}
},
'2': {
"TeliaSonera": {
"Role":"Primary", "Interface":"GigabitEthernet0/0/1", "Location":"Mannheim"},
"Verizon": {
"Role":"Primary", "Interface":"GigabitEthernet0/0/0.40", "Location":"Mannheim"},
"AT&T": {
"Role":"Primary", "Interface":"GigabitEthernet1/0/0.2", "Location":"Mannheim"}
},
'1': {
'Tata': {
"Role":"Primary", "Interface":"GigabitEthernet0/0/6", "Location":"TCI - 1, Pune, India"}
}
}
以下是我要求用户选择哪个地区,然后询问他们想知道哪些运营商。
region_choice = raw_input("Select a Region: (1-4)\n")
if region_choice in carriers:
carrier_choice = raw_input("Select from the following carriers: {}".format(carriers[region_choice][0]))
我意识到我在载体[region_choice]后面有一个[0],但那就是我被困住的地方。
如何从所选词典中显示所有承运人?
期望的结果:
选择一个地区:(1-4) 4
从以下运营商中选择:AT& T,CentPri,CentSec,Verizon AT& T公司
我可以从这里做其余的事。
答案 0 :(得分:0)
30 18 * * * rm /home/someuser/tmp/*
结果:
region_choice = raw_input("Select a Region: (1-4)\n")
if region_choice in carriers:
carrier_choice = raw_input("Select from the following carriers: {}".format(", ".join(carriers[region_choice].keys())))
基本上您需要所在地区的Select a Region: (1-4)
4
Select from the following carriers: CentSec, AT&T, Verizon, CentPri
keys
。这会返回dict
,您可以通过list
将其转换为字符串。
请记住,由于dicts是无序的,因此您无法保证字符串中的运营商的顺序。为此,您需要OrderedDict
。