如何用Python Lambda表达式获取与指定值的最大距离数值
一行代码获取最大距离值
直接生成所有元素与指定值的距离集合,再取最大值即可,两种写法都能实现一行搞定:
写法一(复用已定义的distance函数)
result = max(distance(my_pos, target) for target in others)
写法二(直接内嵌距离计算逻辑)
result = max(abs(my_pos - target) for target in others)
为啥原来的代码不行?
你之前的max(others, key=lambda target: distance(my_pos, target)),是让max函数根据每个元素对应的距离值,找出距离最大的那个元素本身,而不是距离数值。现在我们把迭代对象换成了所有距离值,max自然就返回最大的距离结果了。
内容的提问来源于stack exchange,提问作者SSHunter49
相关产品推荐
相关产品推荐

