dataset = {
'DelNorte':{
'Westview':15,
'MtCarmel':20,
'Poway':35,
'RanchoBernrdo':50
},
'Westview':{
'DelNorte':15,
'MtCarmel':35,
'Poway':25,
'RanchoBernrdo': 45
},
'MtCarmel':{
'Westview':35,
'DelNorte':20,
'Poway':40,
'RanchoBernrdo':30
},
'Poway':{
'Westview':25,
'MtCarmel':40,
'DelNorte':35,
'RanchoBernrdo':15
},
'RanchoBernardo':{
'Westview':45,
'MtCarmel':30,
'Poway':15,
'DelNorte':50
}
}
def fastestroute(start,data):
drivetime = 0
order = []
for key1, value1 in dataset.items():
print("key1", key1, "value1", value1)
print(value1)
temp = ""
temp += key1
lowestValue = 0
for key2, value2 in value1.items():
print("value2", value2)
if lowestValue == 0:
lowestValue = value2
if value2 <= lowestValue:
lowestValue = value2
drivetime = drivetime + lowestValue
lowestKey = key2
order.append(key2)
print("Lowest Value is:", lowestValue)
print("Drivetime:", drivetime)
print("Lowest Key", lowestKey)
print(order)
return(drivetime,order)
dataset['start']
for data in dataset:
print(drivetime, order)
def nested_dict_values_iterator(data):
for value in data.values():
if isinstance(value, dict):
for v in nested_dict_values_iterator(value):
yield v
else:
yield value
#for value in nested_dict_values_iterator(dataset):
# print(value)
def fastestroute2(start, data):
drivetime = 0
order = []
order.append(start)
global lowestKey
lowestKey = start
for i in dataset:
#print("Dataset", dataset[i])
#print("data i: ", data[i].keys())
#print(data[i].values())
#print("Data Poway", data['Poway'])
for key2, value2 in dataset.items():
key2 = lowestKey
print("First Dictionary key2", key2, "value2", value2)
#print(value2)
temp = ""
temp += key2
lowestValue = 0
for key2, value2 in value2.items():
print("Second Dictionary key2", key2)
print("value2", value2)
if lowestValue == 0:
lowestValue = value2
if value2 <= lowestValue and key2 not in order:
lowestValue = value2
drivetime = drivetime + lowestValue
lowestKey = key2
print("Lowest key inside Second Dictionary : ", lowestKey)
# check if key is not already in order[]
if key2 not in order:
order.append(key2)
print("Lowest Value is:", lowestValue)
print("Drivetime:", drivetime)
print("Lowest Key", lowestKey)
print(order)
return(drivetime,order)
start = 'DelNorte'
fastestroute2(start,dataset)
# 'dataset' is the name of the nested key value pair
#fastestroute(start,dataset)
#print(data)
# print(data, dataset[data])
#print(dataset.values())
#min(dataset, key=dataset.get)
#print(dataset.values())
#print(max(dataset.values()))