Python内置的max(),当两个值相同时,会选择哪个值?

Python内置的max(),当两个值相同时,会选择哪个值?,python,python-2.x,Python,Python 2.x,我有一个基于某些日期处理数据的代码。 让我们说: case1: values1 with date1 = '2002-02-01' values2 with date2 = '2004-02-01' case2: values1 with date1 ='2001-01-01' values2 with date2 ='2001-01-01' 我需要最新的唱片。当我的值有不同的日期时,一切都正常,但当记录有相同的日期时max(date1,date2)。 问题。值相等时返回哪个最大值,如案

我有一个基于某些日期处理数据的代码。 让我们说:

case1:

values1 with date1 = '2002-02-01'
values2 with date2 = '2004-02-01'

case2:

values1 with date1 ='2001-01-01'
values2 with date2 ='2001-01-01'
我需要最新的唱片。当我的值有不同的日期时,一切都正常,但当记录有相同的日期时
max(date1,date2)
问题。值相等时返回哪个最大值,如案例2?

“如果多个项目最大,函数将返回遇到的第一个项目。”


来源:

对于所有最大值的多个值,将返回第一个此类值:

>>> class Equal:
...     def __init__(self, id):
...         self.id = id
...     def __repr__(self):
...         return f"Equal({self.id!r})"
...     def __gt__(self, other):
...         return False
...
>>> max([Equal(1), Equal(2), Equal(3)])
Equal(1)
这是明确的:


如果多个项是最大的,则函数返回遇到的第一个项


这有关系吗?毕竟,这些值是相等的。“如果多个项是最大的,函数将返回遇到的第一个。”直接从@MartijnPieters开始,如果您计划更改返回值(如果可能的话)。@timgeb:当然,但OP给出了一个字符串示例,不可变对象。@Marjin
is
不等于
=
python2.6是真的吗?@oshaiken:是的,算法没有从python2改为3。谢谢!我读了旧文档,但没有看到它提到它。python2.6是真的吗?