first, a dictionary is a hashed table, so by default is not sort-able other than by insertion ordered (which is automatic with versions of python starting with 3.7.
you can, however extract the keys into a list, and then sort the list, effectively creating an ordered index into the dictionary
Example with your dictionary:
you can, however extract the keys into a list, and then sort the list, effectively creating an ordered index into the dictionary
Example with your dictionary:
>>> medals = {'Japan':41, 'Russia':56, 'South Korea':21, 'United States':121, 'Germany':42, 'China':70} >>> keys = medals.keys() >>> for key in keys: ... print(f'key: {key}, value: {medals[key]}') key: Japan, value: 41 key: Russia, value: 56 key: South Korea, value: 21 key: United States, value: 121 key: Germany, value: 42 key: China, value: 70 >>> >>> # or by medal count: >>> klist = [] >>> for key, value in medals.items(): ... klist.append([key, value]) ... >>> klist [['Japan', 41], ['Russia', 56], ['South Korea', 21], ['United States', 121], ['Germany', 42], ['China', 70]] >>> sorted(klist, key=lambda klist: klist[1]) [['South Korea', 21], ['Japan', 41], ['Germany', 42], ['Russia', 56], ['China', 70], ['United States', 121]] >>>