How python sorts objects by multiple key values
This article mainly introduces how python sorts objects through multiple keys, which has a certain reference value, and interested friends can refer to it. I hope you can learn a lot after reading this article.
Sort objects by multiple key values
Suppose you want to sort the following dictionary list:
People = [{'name':' John', "age": 64}, {'name':' Janet', "age": 34}, {'name':' Ed', "age": 24}, {'name':' Sara', "age": 64}, {'name':' John', "age": 32}, {'name':' Jane', "age": 34} {'name':' John', "age": 99},]
Sort not only by name or age, but also by both fields. In SQL, the query would look like this:
SELECT * FROM people ORDER by name, age
In fact, the solution to this problem can be very simple, and Python ensures that the sort function provides a stable sort order, which means that more similar items will retain their original order. To sort by name and age, you can do this:
Import operator people.sort (key=operator.itemgetter ('age')) people.sort (key=operator.itemgetter (' name'))
Pay attention to how to reverse the order. Sort by age first, then by name, and use operator.itemgetter () to get the age and name fields from each dictionary in the list, so you'll get the results you want:
[{'name':' Ed', 'age': 24}, {' name': 'Jane',' age': 34}, {'name':' Janet','age': 34}, {'name':' John', 'age': 32}, {' name': 'John',' age': 64}, {'name':' John', 'age': 99}, {' name': 'Sara' 'age': 64}]
The name is the main sort item, and if the name is the same, it is sorted by age. Therefore, all John are grouped together by age.
Thank you for reading this article carefully. I hope the article "python how to sort objects by multiple keys" shared by the editor will be helpful to you. At the same time, I also hope you will support us and pay attention to the industry information channel. More related knowledge is waiting for you to learn!