同时计算两个最大值?

nai*_*eai 6 python max python-3.x

我有一个Point对象列表,每个对象都有一个x和y属性.我希望计算maximum_x和maximum_y,而不是迭代两次.我能做到这一点:

max_x = max(points, key=lambda p: p.x)
max_y = max(points, key=lambda p: p.y)
Run Code Online (Sandbox Code Playgroud)

但是,当然,这将迭代两次.我可以手动完成,但由于找到最大值是如此简单,我担心它会增加混乱.使用内置max函数有没有办法做到这一点?

wim*_*wim 8

不,不是真的.你已经拥有的是最好的方式,只需要max两次.

无论如何,想想这样:你是否迭代一次并在每次迭代中进行两次比较,或者你迭代两次并在迭代期间进行一次比较,最终没有太大的区别.