抱歉,在标题中解释我的问题有点困难,但基本上,我有一个职位列表,每个职位都可以通过一个函数传递以获取一个数字,该数字为您提供有关该职位的数据。我想要做的是返回列表中数据值最低的位置,但我似乎找不到办法做到这一点。
一些伪代码应该有所帮助:
def posfunc(self,pos):
x,y = pos
return x**2-y
def minpos(self)
returns position with the least x**2-y value
Python 非常酷 :D:
min(positions, key=posfunc)
来自内置文档:
>>> help(min)
min(...)
min(iterable[, key=func]) -> value
min(a, b, c, ...[, key=func]) -> value
With a single iterable argument, return its smallest item.
With two or more arguments, return the smallest argument.
这里值得一提的是 lambda:
min(positions, key=lambda x: x[0]**2 - x[1])
大致相同,但我认为如果您不使用的话更具可读性posfunc
别处。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)