小编典典

如果是平局,Python会选择哪个最大值?

python

max()在Python中使用该函数在列表(或元组,字典等)中查找最大值时,并且最大值与并列,Python会选择哪一个?它是随机的吗?

例如,如果有一个元组列表,并且key=根据元组的第一个元素选择一个最大值(使用),但是有不同的第二个元素,则这是有意义的。Python如何决定选择哪个最大?


阅读 167

收藏
2020-12-20

共1个答案

小编典典

它选择看到的第一个元素。请参阅有关文档max()

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

在源代码中实现此方法./Python/bltinmodule.c通过builtin_max,它包装在更一般的min_max功能

min_max将遍历这些值并用于PyObject_RichCompareBool查看它们是否大于当前值。如果是这样,则较大的值将替换它。相等的值将被跳过。

结果是在平局的情况下将选择第一个最大值。

2020-12-20