Get the App
SLTechnology News&Howtos  ›  Development  › 

How to sort objects by multiple key values in python

Shulou Source: shulou.com Published: 2022-06-01 03:55:14 10月03日 Update

This article mainly introduces how to sort objects through multiple keys in python. It is very detailed and has a certain reference value. Friends who are interested must finish reading it.

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.

The above is all the contents of the article "how to sort objects by multiple keys in python". Thank you for reading! Hope to share the content to help you, more related knowledge, welcome to follow the industry information channel!

Tags: Sort age name multiple object order content dictionary field article classification original similar same two value interest function at the same time name Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno NVidia MariaDB Huawei Linux Docker