我正在学习Python中的lambdas,但我不明白这个例子中发生了什么.
谁能用简单的英语解释这里发生了什么?这个例子说它是"将一个小函数作为一个参数传递",但我不明白这意味着什么.
>>> pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]
>>> pairs.sort(key=lambda pair: pair[1])
>>> pairs
[(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two')]
Run Code Online (Sandbox Code Playgroud)
mir*_*ulo 10
您正在使用lambda表达式(或匿名函数)到sort基于某个元组的元组列表key.pair[1]表示您使用每个元组(字符串)中索引位置1的元素键进行排序.使用字符串排序按字母顺序排序,这会导致您看到的输出.
如果您使用每个元组中的第一个元素作为keyinstance(pair[0])的排序,那么您将按递增的数字顺序排序:
>>> pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]
>>> pairs.sort(key=lambda pair: pair[0])
>>> pairs
[(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2829 次 |
| 最近记录: |