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?
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.