python - 在 Python 中使用 lambda

标签 python sorting

我正在尝试使用 lambda 对列表进行排序。我想做的是根据坐标与初始位置的曼哈顿距离对坐标进行排序。我知道我已经记下了大部分语法,但似乎遗漏了一些小东西,谢谢!

while (len(queue) > 0):  
    queue.sort(queue, lambda x: util.manhattanDistance(curr,x))  

最佳答案

看来您正试图告诉 sort() 方法使用您的 lambda 函数作为 key 进行排序。这是通过关键字参数 key 完成的:

queue.sort(queue, key = [your lambda function])

重写的行是:

queue.sort(queue, key = lambda x: util.manhattanDistance(curr,x))

编辑:误解了原始 lambda 函数的用途;认为它是用作比较函数,这没有意义,因为距离函数不能为负

关于python - 在 Python 中使用 lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14636569/

相关文章:

python - 使用Python从word文档中提取图片和文字

python - 具有 GPU 支持的 Levenberg-Marquardt 算法

python - 在 Pandas 数据框中显示对图

python - 我正在为小学生创建一个测验

sorting - Excel VBA - 应用自动过滤器并按特定颜色排序

python - 如何更改列表中元素的位置

javascript - 我如何将这段 JavaScript 代码翻译成 Python 代码?

c++ - 结构的选择排序

c - 按 C 行中的第一个元素对矩阵的行进行排序

java - 在单独的类中访问私有(private)变量?