Returning the minimum weight from a multigraph was inefficient

In the previous code, you would essentially iterate through the ```edge_dict.values()``` values twice. First would be running the list comprehension to produce a list of weights, and then again to find the minimum value for the list produced. Passing the generator expression to ```min()``` produces what you're looking for in one full iteration. I also included a little code beautification à la pep8 as well but will revert it if necessary.