Home > Backend Development > Python Tutorial > How does the `sorted(key=lambda: ...)` syntax work in Python?

How does the `sorted(key=lambda: ...)` syntax work in Python?

Linda Hamilton
Release: 2024-10-27 08:59:03
Original
340 people have browsed it

How does the `sorted(key=lambda: ...)` syntax work in Python?

Understanding the Syntax of sorted(key=lambda: ...)

The sorted() function in Python allows you to sort a list based on a custom sorting key. The key argument takes a callable that specifies how each element should be compared for sorting. When this callable is a lambda function, its syntax follows a specific pattern:

key=lambda variable: variable[index]
Copy after login

Lambda Function Syntax

A lambda function is an anonymous function, defined using lambda, which accepts a variable or multiple variables as input and performs a calculation or operation. The syntax of a lambda function is:

lambda input_variable(s): expression
Copy after login

Key Argument in sorted()

The key argument in sorted() takes a callable, and in our case, the callable is a lambda function. The lambda function is applied to each element in the list, and the result is used to compare elements for sorting.

Understanding the Syntax

The variable in the lambda function is assigned to each element of the list as the function iterates through the list. The variable is followed by a colon (:), which is followed by the expression that extracts the value to be used for sorting. In the example provided, the expression is accessing the first element of each element in the list, represented as variable[0].

Why "variable" Is Stated Twice

The variable is stated twice because lambda functions use a single colon (:) as a separator between the input variables and the expression. The first variable, before the colon, is assigned the elements of the list, and the second variable, after the colon, is assigned the expression that extracts the sorting value.

Example

Consider the following example:

<code class="python">mylist = [(3, 6), (2, 5), (1, 4)]
sorted(mylist, key=lambda x: x[0])</code>
Copy after login

In this example, the lambda function lambda x: x[0] extracts the first element of each tuple in mylist. The sorted list will then be ordered by the first element of the tuples in ascending order.

Conclusion

The syntax of sorted(key=lambda: ...) involves using a lambda function to define a custom sorting key. The lambda function accepts an input variable, which is assigned to each element of the list, and extracts a value from that element to be used for sorting. Understanding this syntax and the behavior of lambda functions within the sorted() function is crucial for effectively sorting lists based on custom criteria.

The above is the detailed content of How does the `sorted(key=lambda: ...)` syntax work in Python?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
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
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template