我正在尝试使用 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/