2

当您使用带键的 min/max 时,Python 中是否有某些东西可以保证始终从可迭代中选择相同的项目?

例如

>>> l = ['aaaaaa', 'bbbbbb', 'cc']
>>> max(l)
'cc'
>>> max(l, key=len)
'aaaaaa'

Python 是否保证根据 key 函数返回第一个具有最大值的此类对象?

min 的第一个这样的对象是有意义的,但对于 max 来说,最后一个这样的对象可能更有意义:

>>> sorted(l, key=len)[-1]
'bbbbbb'

我认为这是因为 Python 排序是稳定的。所以也许我的问题是真的,对于最小/最大函数是否有“稳定”的等效概念,Python 是否遵循它?

4

0 回答 0