Skip to content

Instantly share code, notes, and snippets.

@raeq
Created July 30, 2020 15:56
Show Gist options
  • Save raeq/550b492d8150fce2b14528b3d65149d8 to your computer and use it in GitHub Desktop.
Save raeq/550b492d8150fce2b14528b3d65149d8 to your computer and use it in GitHub Desktop.
Sorting a dictionary
"""
Sorting a dictionary to an Iterable of tuples.
https://en.wikipedia.org/wiki/List_of_countries_and_dependencies_by_area
"""
countries: dict = {
"Taiwan": 36193,
"Canada": 9984670,
"United States": 9525067,
"Russia": 17098246,
"Argentina": 2780400,
"Zambia": 752612,
"China": 9596961,
}
assert sorted(countries.items(), key=lambda kv: kv[1], reverse=False) == [
("Taiwan", 36193),
("Zambia", 752612),
("Argentina", 2780400),
("United States", 9525067),
("China", 9596961),
("Canada", 9984670),
("Russia", 17098246),
]
assert sorted(countries.items(), key=lambda kv: kv[1], reverse=True) == [
("Russia", 17098246),
("Canada", 9984670),
("China", 9596961),
("United States", 9525067),
("Argentina", 2780400),
("Zambia", 752612),
("Taiwan", 36193),
]
assert sorted(countries.items(), key=lambda kv: kv[0], reverse=False) == [
("Argentina", 2780400),
("Canada", 9984670),
("China", 9596961),
("Russia", 17098246),
("Taiwan", 36193),
("United States", 9525067),
("Zambia", 752612),
]
assert sorted(countries.items(), key=lambda kv: kv[0], reverse=True) == [
("Zambia", 752612),
("United States", 9525067),
("Taiwan", 36193),
("Russia", 17098246),
("China", 9596961),
("Canada", 9984670),
("Argentina", 2780400),
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment