Python 为什么max([1.0,1])是1.0,max([1,1.0])是1?

Python 为什么max([1.0,1])是1.0,max([1,1.0])是1?,python,python-3.x,Python,Python 3.x,为什么max()返回列表中的第一个值?根据Python关于max()函数的官方文档: 如果多个项目是最大的,则函数返回遇到的第一个项目。 由于1.0==1,函数将返回1.0和1之间的第一个值。您描述的是: 如果多个项是最大的,则函数返回遇到的第一个项。这与其他保持排序稳定性的工具一致,例如sorted(iterable,key=keyfunc,reverse=True)[0]和heapq.nlargest(1,iterable,key=keyfunc) 您希望它返回什么?如果它是最大元素,它会在

为什么
max()
返回列表中的第一个值?

根据Python关于max()函数的官方文档:

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

由于1.0==1,函数将返回1.0和1之间的第一个值。

您描述的是:

如果多个项是最大的,则函数返回遇到的第一个项。这与其他保持排序稳定性的工具一致,例如
sorted(iterable,key=keyfunc,reverse=True)[0]
heapq.nlargest(1,iterable,key=keyfunc)


您希望它返回什么?如果它是最大元素,它会在第一个索引处返回元素。
>>> max([1.0,1])
1.0
>>> max([1,1.0])
1
>>> 1==1.0
True