I am studying for my GCSE part of which requires me to print a dictionary sorted alphabetically by key and the print should include the associated value.
I have spent hours trying to find the answer to this and have looked at various posts on this forum but most are too complex for my limited knowledge.
I can print alphabeticallycsorted Keys and I can print sorted values but not alphabetically sorted keys with the values attached.
This is my simple test code
class1 = { 'Ethan':'9','Ian':'3','Helen':'8','Holly':'6' } # create dictionary
print(sorted(class1)) # prints sorted Keys
print(sorted(class1.values())) # Prints sorted values
I need to print sorted keys with values - how to do that?
for k,v in class1.items():
print(k,v) # prints out in the format I want but not alphabetically sorted
>>> class1 = { 'Ethan':'9','Ian':'3','Helen':'8','Holly':'6' }
>>> print(sorted(class1.items()))
[('Ethan', '9'), ('Helen', '8'), ('Holly', '6'), ('Ian', '3')]
>>> for k,v in sorted(class1.items()):
... print(k, v)
...
Ethan 9
Helen 8
Holly 6
Ian 3
>>> for k,v in sorted(class1.items(), key=lambda p:p[1]):
... print(k,v)
...
Ian 3
Holly 6
Helen 8
Ethan 9
>>> for k,v in sorted(class1.items(), key=lambda p:p[1], reverse=True):
... print(k,v)
...
Ethan 9
Helen 8
Holly 6
Ian 3
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With