Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试使用 lambda 对列表进行排序。我想做的是根据它们与初始位置的曼哈顿距离对坐标进行排序。我知道我的大部分语法都写下来了,但似乎我遗漏了一些小东西,谢谢!
while (len(queue) > 0): queue.sort(queue, lambda x: util.manhattanDistance(curr,x))
您似乎正试图告诉该sort()方法使用您的 lambda 函数作为排序的键。这是通过关键字参数 key完成的:
sort()
key
queue.sort(queue, key = [your lambda function])
重写的行是:
queue.sort(queue, key = lambda x: util.manhattanDistance(curr,x))
编辑:误解了原始 lambda 函数的目的;认为它是一个比较函数,这没有意义,因为距离函数不能是负数