How do I sort a list of objects based on an attribute of the objects?
list, python, reverse, sorting
Solution
To sort the list in place:
orig_list.sort(key=lambda x: x.count, reverse=True)
To return a new list, use `sorted`:
new_list = sorted(orig_list, key=lambda x: x.count, reverse=True)
Explanation:
- `key=lambda x: x.count` sorts by count.
- `reverse=True` sorts in descending order.
More on sorting by keys.
Problem
I have a list of Python objects that I want to sort by a specific attribute of each object: ``` [Tag(name="toe", count=10), Tag(name="leg", count=2), ...] ``` How do I sort the list by `.count` in descending order?