Home >Backend Development >Python Tutorial >How to Sort a Python List by Multiple Fields Using `sorted()` and Lambda Expressions?
Sorting a Python List by Multiple Fields
If you have a list created from a sorted CSV file using sorted(), you may want to further sort the list by additional criteria. To sort a Python list by two fields, you can use a combination of the sorted() function and lambda expressions.
In your case, you can sort the list list1 by the value in field 1 and then by the value in field 2 using the following code:
sorted_list = sorted(list1, key=lambda x: (x[0], x[1]))
The key argument in sorted() takes a function that determines the sort order. In this case, the lambda function returns a tuple of values that are used for sorting. The first element of the tuple is the value in field 1, and the second element is the value in field 2.
To sort by one field ascending and another field descending, you can use negative values in the lambda function. For example, to sort by field 1 ascending and field 2 descending, use the following code:
sorted_list = sorted(list1, key=lambda x: (x[0], -x[1]))
The above is the detailed content of How to Sort a Python List by Multiple Fields Using `sorted()` and Lambda Expressions?. For more information, please follow other related articles on the PHP Chinese website!