The reasonable way to express maximum value of a dict is:

```
max(d.values())
```

which raises questions about what’s okay to use, so, maybe:

```
maximum = next(iter(d.values())
for v in d.values():
if v > maximum:
maximum = v
return maximum
```

The reasonable way to express maximum value of a dict is:

```
max(d.values())
```

which raises questions about what’s okay to use, so, maybe:

```
maximum = next(iter(d.values())
for v in d.values():
if v > maximum:
maximum = v
return maximum
```

1 Like

Not how the hint described the outcome but it seems I got the correct answer with this code. The green check mark showed up so I think this also works, but I could be missing something. I found this way because I didn’t want to look at the hint and did know about the float("-inf") method.

```
def max_key(my_dictionary):
maximum = list(my_dictionary.values())
for key in my_dictionary:
if my_dictionary[key] == max(maximum):
return key
```

That’s actually working:

```
def max_key(my_dictionary):
return max(my_dictionary, key=my_dictionary.get)
```

It’s so helpful how the hint tells you to use an empty string for largest_key, yet the answer says differently. Did everything right except that part. Thanks a bunch…

```
def max_key(my_dictionary):
top_value = max_num(my_dictionary.values())
for (key, value) in my_dictionary.items():
if value in top_value:
return key
def max_num(x):
list = [-1000]
for item in x:
if item >= list[0]:
list[0] = item
return list
```