Home  >  Article  >  Backend Development  >  How to Sort a List of Lists by a Specific Index of the Inner Lists?

How to Sort a List of Lists by a Specific Index of the Inner Lists?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-22 07:34:10848browse

How to Sort a List of Lists by a Specific Index of the Inner Lists?

Sorting Lists of Lists by Inner List Index

Problem:

Given a list of lists, each inner list containing multiple elements, how do we sort the outer list by a specific index of the inner lists?

Example:

Consider the following list of lists:

[[0, 1, 'f'],
[4, 2, 't'],
[9, 4, 'afsd']]

If we want to sort the outer list by the string fields of the inner lists, how would we accomplish this in Python?

Solution:

The solution involves using the operator.itemgetter function. This function allows us to extract a specific element from each inner list and use it as the sorting criterion. Here's how we would use it:

from operator import itemgetter

L = [[0, 1, 'f'], [4, 2, 't'], [9, 4, 'afsd']]
sorted(L, key=itemgetter(2))

Explanation:

  • itemgetter(2) returns a function that extracts the third element from each inner list (index 2, starting from 0).
  • The key parameter in sorted() specifies the sorting criterion. By using itemgetter(2), we instruct the sort function to use the string field as the sorting key.
  • The result is a sorted list of lists, with the order determined by the string fields.

Additional Note:

While itemgetter is an efficient method for sorting by inner list index, for simple cases like this, a lambda function can also be used. However, the lambda function will typically be slower in such cases.

The above is the detailed content of How to Sort a List of Lists by a Specific Index of the Inner Lists?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn