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

2023-11-22

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

例如,如果一个人有一个元组列表并且一个人选择一个最大值(使用key=)基于元组的第一个元素,但有不同的第二个元素。 Python 如何决定选择哪一个作为最大值?


它选择它看到的第一个元素。看的文档max():

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

在源码中是这样实现的in ./Python/bltinmodule.c by builtin_max,它包裹着更一般min_max功能.

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果出现平局,Python 会选择哪个最大值? 的相关文章

随机推荐

  • WPF DataGrid:如何将列设置为 TextWrap?

    我不确定为什么我的代码没有正确执行 TextWrapping 它不会包装 描述 列的文本 这正是我想要的 它只是将其切断 甚至没有使用 来让我知道还有更多数据 我尝试使用在网上找到的代码来完成这项工作 但没有成功 理想情况下 我希望能够仅将
  • 通过XPath提取属性节点的值

    如何通过 XPath 提取属性节点的值 示例 XML 文件是
  • C++20 标准对于将主题用作模板非类型参数有何规定?

    The 模板非类型参数 文章 模板参数和模板参数 的段落指出 唯一的例外是引用的非类型模板参数 或指针类型以及引用或指针的非静态数据成员 输入类类型及其子对象的非类型模板参数 C 20 起 不能引用 成为以下地址 临时对象 包括在引用初始化
  • 通过 Google Chrome 扩展访问本地文件?

    我需要从本地文件将名称列表加载到我的 google chrome 扩展中 如何才能做到这一点 如果文件本身附带扩展名怎么办 如果此文件随您的扩展一起提供 那么您可以使用以下命令加载它XMLHttpRequest内部背景页面 使用相对路径 带
  • 嵌入式(ASP.NET)网络服务器[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我正在寻找适用于 NET 的轻量级可嵌入 Web 服务器 我需要它来伪造 SOAP Web 服务以进行自动化测试 因此如果它支持 ASP NET W
  • jQuery Ajax 到 asp.net asmx Web 服务抛出请求格式无效:application/json

    我让 jquery 使用整数调用 asp net web 服务 在我们移植到 net 4 0 的旧应用程序上 我无法让此调用正常工作 我可以调用一个没有参数的方法 但将数据发送到 Web 方法会返回以下错误 System InvalidOp
  • 如何在 Android 设备中检测来电?

    我正在尝试制作一个应用程序 例如当电话打来电话时我想检测号码 以下是我尝试过的方法 但它没有检测到来电 我想运行我的MainActivity在后台 我该怎么做 我已给予许可manifest file
  • 我应该如何构建一个简单的 ASP.NET MVC 应用程序?

    我一直在阅读一些有关 ASP NET MVC SOLID 等的内容 并且正在尝试为中小型 ASP NET MVC 应用程序找出一个简单的 秘诀 将这些概念整合在一起 我最关心的问题是控制器过于复杂 就像网络表单中的代码隐藏文件 其中包含所有
  • Cython 和 fortran - 如何在没有 f2py 的情况下一起编译

    最终更新 这个问题是关于如何写一个setup py这将编译一个 cython 模块 该模块可以像 C 一样直接访问 FORTRAN 代码 这是一个相当漫长而艰巨的解决方案旅程 但完整的混乱情况包含在下面作为上下文 原问题 我有一个扩展 它是
  • 无论系统是32位还是64位,int都是32位,long还是64位吗?

    在java中 无论体系结构是32位还是64位 int是否保证始终为32位大小和long为64位大小 Java 是平台无关的 所以int是 32 位 并且long是 64 位的
  • Android 开关 - 在开/关时更改开关背景

    does someone know how I can implement a switch like this in my application 或者如何更改标准开关打开 关闭时的背景颜色 以下是供您开始使用的示例 XML
  • 在泽西岛从 1.9 升级到 Jackson 2.0 不起作用

    我正在使用 Jackson 位于泽西岛 来序列化实体 并且我正在从 Jackson 1 9 迁移到 2 0 我跟着本指南 一开始似乎一切都很顺利 但仔细观察发现 Jackson 1 9 仍在用于序列化我的响应 因此忽略了我的 迁移的 Jac
  • 如何计算沿直线的镜像点?

    在二维平面中 我有一个点和一条线 如何获得沿着这条线的镜像点 当在计算机程序中完成类似的事情时 您可能需要处理的问题之一是仅使用整数算术 或尽可能多 来执行这些计算 假设输入是整数 尽可能以整数进行此操作是一个单独的问题 我不会在这里讨论
  • 如何获取子进程的完整返回值?

    我需要捕获子进程的返回值 问题是 使用等待进程 函数我只能捕获返回值的8位 WEXITSTATUS wstatus 返回子进程的退出状态 这包括 孩子状态参数的最低有效 8 位 在对 exit 3 或 exit 2 的调用中指定或作为参数指
  • 如何使用“sum(iterable,[])”展平嵌套列表? [复制]

    这个问题在这里已经有答案了 我正在使用Python 3 6 我遇到了以下方法来展平嵌套列表sum a 1 2 3 4 5 6 sum a 返回 1 2 3 4 5 6 这里究竟发生了什么 Sum 接受一个可迭代对象 在本例中是一个列表 和一
  • Python 中两个范围列表的交集

    我的一个朋友向我传递了他最近收到的一个面试问题 我对我的解决方案不太满意 问题如下 你有两个清单 每个列表将包含长度为 2 的列表 表示一个范围 即 3 5 表示从 3 到 5 含 的范围 您需要返回集合之间所有范围的交集 如果我给你 1
  • 在 Android 上从 gcm 迁移到 fcm

    我想在 Android 应用程序中从 gcm 迁移到 fcm 我是否需要从 gcm 向 Android 应用程序的老用户发送推送通知 或者我可以通过服务器的新 fcm 发送通知 FCM 工作正常我可以通过 fcm 在我的设备上接收推送通知
  • 不构建核心库时不明智或错误地使用核心类(java.* 或 javax.*)

    当我清理项目时 出现以下错误 2011 10 05 13 47 53 The Basics Dx trouble processing java nio CharBuffer class Ill advised or mistaken us
  • Python:重载特定类型的运算符

    我希望能够让我的类的运算符以我定义的方式与常规类型进行交互 比方说 我有 class Mynum object def init self x self x x def add self other return self x other
  • 如果出现平局,Python 会选择哪个最大值?

    当使用max Python 中的函数查找列表 或元组 字典等 中的最大值 并且最大值存在并列 Python 选择哪一个 是随机的吗 例如 如果一个人有一个元组列表并且一个人选择一个最大值 使用key 基于元组的第一个元素 但有不同的第二个元