首页  >  文章  >  后端开发  >  Python 中的“sorted(key=lambda: ...)”语法如何工作?

Python 中的“sorted(key=lambda: ...)”语法如何工作?

Linda Hamilton
Linda Hamilton原创
2024-10-27 08:59:03245浏览

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

理解sorted(key=lambda: ...)的语法

Python中的sorted()函数允许你对一个基于自定义排序键的列表。 key 参数采用一个可调用函数,指定应如何比较每个元素以进行排序。当此可调用函数是 lambda 函数时,其语法遵循特定模式:

key=lambda variable: variable[index]

Lambda 函数语法

lambda 函数是使用 lambda 定义的匿名函数,它接受一个或多个变量作为输入并执行计算或运算。 lambda 函数的语法为:

lambda input_variable(s): expression

sorted() 中的键参数

sorted() 中的键参数采用可调用函数,在我们的例子中,可调用函数是 lambda 函数。 lambda 函数应用于列表中的每个元素,结果用于比较元素进行排序。

理解语法

lambda 函数中的变量当函数迭代列表时,将被分配给列表的每个元素。该变量后跟一个冒号 (:),后跟提取用于排序的值的表达式。在提供的示例中,表达式正在访问列表中每个元素的第一个元素,表示为变量[0]。

为什么“variable”被声明两次

该变量被声明两次,因为 lambda 函数使用单个冒号 (:) 作为输入变量和表达式之间的分隔符。冒号之前的第一个变量被分配列表的元素,冒号之后的第二个变量被分配提取排序值的表达式。

示例

考虑以下示例:

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

在此示例中,lambda 函数 lambda x: x[0] 提取 mylist 中每个元组的第一个元素。然后,排序列表将按元组的第一个元素升序排列。

结论

sorted(key=lambda: ...) 的语法涉及使用 lambda 函数来定义自定义排序键。 lambda 函数接受一个输入变量,该变量被分配给列表的每个元素,并从该元素中提取一个值以用于排序。了解此语法以及排序()函数中 lambda 函数的行为对于根据自定义标准有效地对列表进行排序至关重要。

以上是Python 中的“sorted(key=lambda: ...)”语法如何工作?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn