arr.sort(key=lambda x: (x[0],-x[1])) 是什么意思?

2023-12-01

>>> arr=[[4,5],[4,6],[6,7],[2,3],[1,1]]
>>> arr.sort(key=lambda x:x[0]) #statement 1
>>> arr
[[1, 1], [2, 3], [4, 5], [4, 6], [6, 7]]
>>> arr.sort(key=lambda x:(x[0],-x[1])) #statement 2
>>> arr
[[1, 1], [2, 3], [4, 6], [4, 5], [6, 7]]

所以,我可以观察语句1和语句2的执行之间的差异。 我知道语句 1 按 x[0] 的升序对列表进行排序。 但是如果我们使用语句2那么列表是如何排序的呢?


lambda x:(x[0],-x[1])

这会生成(第一个元素,第二个元素的负数)的元组

当您对 2 元组进行排序时,它们的排序基于

  1. 第一个元素
  2. 如果第一个元素相等,则第二个元素相等

So

arr.sort(key=lambda x:(x[0],-x[1]))

对列表进行排序arr基于:

  1. 第一个元素
  2. 如果第一个元素相等,则基于第二个元素的负值。

(因此[4,6]领先于[4,5] since -6 < -5)

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

arr.sort(key=lambda x: (x[0],-x[1])) 是什么意思? 的相关文章

  • 在java 8 lambdas中,如何访问流中的原始对象?

    假设我有一个 A 列表 List a as 如果我想对每个 A 进行相当多的处理 并且在处理结束时 我想将结果放入 A 的另一个字段中 那么最好的方法是什么 ie as stream map a gt a getX filter x gt
  • python3中“super”对象没有属性“__getattr__”

    如何覆盖 getattr 使用 python 3 和继承 当我使用以下内容时 class MixinA def getattr self item Process item and return value if known if item
  • Python 3.10 中有 setUpClass 的异步等效项吗?

    我一直在使用unittest IsolatedAsyncioTestCase测试我的异步方法 我一直在利用setUpClass asyncSetUp创建夹具和asyncTearDown进行清理 到目前为止一切进展顺利 但现在我有一个新的要求
  • Java-使用递归压平数组

    我一直在练习算法 递归一直是我的弱项 该问题要求将嵌套数组展平为单个数组 如果使用给出 O n 3 给定相同大小的 3d 数组 解决方案的循环 这将很简单 然而 通过递归 我已经挣扎了几个小时 这就是我所拥有的 请注意 我已经尝试过使用我的
  • Oracle存储过程使用数组作为表插入的参数

    我一直在寻找一个明显的例子 但没有运气 抱歉 如果已经回答了 我正在尝试做一些非常简单的事情 一个存储过程 它将获取输入并将它们插入到表中 我希望它获取多行数组并一次全部插入 我认为这很简单 但我还没有找到一个可以展示我的例子 在很多例子中
  • 将 2D 矢量转换为 2D 数组

    自从我上次访问数组以来已经有一段时间了 我最近一直在使用向量 我需要将 2D 向量转换回 2D 数组 因为我正在使用的库接受类型的参数double array该数组的访问器在哪里foo i j 例如 这是我的代码 double setupH
  • Python 中两个列表列表的高效比较

    我是 python 的新手 只是在做项目时学习一些东西 这里我有两个列表列表 我需要比较和分离 A gt B 中找到的差异和 b gt A 中找到的差异 最好的比较方法是什么 A 1L test case 1 1L test case 2
  • 根据javascript中对象数组中的id替换特定对象

    我有一系列像这样的对象 var books id 1 name Name of the wind year 2015 rating 4 5 author 2 现在我有一个函数 editBooks 它要求用户提供 id 并用用户给出的值替换具
  • PostgreSQL 中字符串列类型的索引数组

    是否可以在类型为的列上创建索引文本数组 尝试使用GIN索引 但查询似乎没有使用这些索引 Example CREATE TABLE users name VARCHAR 100 groups TEXT Query SELECT name FR
  • C# 可以扩展数组吗?

    我习惯向 IEnumerable 等外部类添加方法 但是我们可以在 C 中扩展数组吗 我计划向数组添加一个方法 将其转换为 IEnumerable 即使它是多维的 不相关如何在 C 中扩展数组 https stackoverflow com
  • C# LINQ 方法确定数组是否是另一个数组的子集(包括重复项)?

    考虑两个数组 int a1 new int 1 1 1 2 3 4 5 6 7 8 9 10 10 int a2 new int 1 3 4 7 5 10 1 我希望能够确定 a2 是否是 a1 的子集 考虑重复项目的数量 换句话说 如果a
  • 查找两个复杂字典之间的集合差异

    我有两个结构如下的字典 a dict1 a 1 2 3 4 b 1 2 5 6 b dict2 a 1 2 5 6 b 1 2 7 8 我需要找到字典中每个键之间的设置差异 即 dict1 a dict2 a 应该返回 3 4 任何想法都值
  • .bat 文件将文件排序到文件夹中

    对于我的图片集 我希望文件夹中的所有图片按日期自动分类到文件夹中 幸运的是 这些文件已经以时间戳命名 2012 07 15 12 21 06 jpg 2012 07 15 12 21 26 jpg 2012 07 16 12 12 50 j
  • 互补DNA序列

    我在编写这个循环时遇到问题 它似乎在第二个序列之后停止了 我想返回给定 DNA 序列的互补 DNA 序列 例如 AGATTC gt TCTAAG 其中 A T 和 C G def get complementary sequence dna
  • 现在与出生日期之间的年、月、日、分钟差异

    import datetime birthday datetime datetime 1996 8 15 differnce datetime datetime now birthday This returns a timedelta o
  • 查找所有数组的长度多维数组,Java

    我想使用多维数组来存储数据网格 但是 我还没有找到一种简单的方法来查找长度2nd数组的一部分 例如 boolean array new boolean 3 5 System out println array length 只会输出3 是否
  • 是否有一种算法可以在线性时间内计算数组反转?

    我知道有多少倒转 en wikipedia org wiki Inversion 28discrete mathematics 29 in an n 元素数组可以在 O n log n 操作使用增强型归并排序 http www geeksf
  • 参数数量在编译时确定的 Lambda 函数

    我想声明一个带有 N 个参数的 lambda 函数 其中 N 是模板参数 就像是 template
  • “ModuleNotFoundError:我的 Docker 容器中没有名为 的模块”

    我正在尝试在 Docker 容器中运行 python 脚本 但我不知道为什么 python 找不到任何 python 模块 我认为它与 PYTHONPATH 环境变量有关 所以我尝试将其添加到 Dockerfile 中 如下所示 ENV P
  • 将其元素添加到另一个列表后清除列表

    我正在做一个程序 它获取更多句子作为参数 我制作了 2 个列表 一个称为 propozitie 其中包含每个句子 另一个称为 propozitii 其中包含所有句子 问题是 当我在遇到 后清除 propozitie 列表时 它也会清除 pr

随机推荐

  • 权限从publish_stream迁移到publish_action

    我想知道您是否拥有publish stream 的用户权限 并且您希望从现在开始publish action publish stream 是否涵盖这两者 还是我们需要重新请求用户权限 如果是这样 检测他们是否获得此权限等最简单的方法是什么
  • SaaS - 共享数据库中租户特定的查找数据

    我正在开发基于多租户 SaaS 的应用程序 并使用共享数据库在 TenantId 列的帮助下存储所有租户记录 现在的问题是我有一些查找记录列表需要为所有租户共享 例如游戏列表 游戏桌 Id GameName 还有另一个表用于仅存储租户特定记
  • SQL Split 函数处理文本限定符之间出现分隔符的字符串?

    有多种 SQL 分割函数 从循环驱动到使用 xml 命令 甚至使用数字表 我还没有找到支持文本限定符的 使用下面的示例字符串 我想在 上分割 但当它出现在双引号或单引号之间时则不分割 示例数据 email protected Sally H
  • 从 Matlab 轮廓函数中选择等值线

    Matlab 轮廓函数 和 imcontour 绘制矩阵不同级别的等值线 我想知道 如何操纵该函数的输出以便接收每个轮廓的所有 x y 坐标以及级别 如何使用输出 C h 轮廓 来实现上述任务 另外 我对操纵底层网格不感兴趣 它是一个连续函
  • 当输入获得焦点时 CSS 改变图标颜色

    我希望用户图标和锁定图标在输入聚焦时改变颜色 但我不知道该怎么做 有人可以帮助我吗 我希望图标颜色为 c0392b div class input icons span class fa fa user span div
  • 函数声明 - 函数表达式 - 作用域

    在javascript中 函数声明和函数表达式在作用域方面有什么区别 函数声明意味着我们正在污染全局空间 函数表达式的情况是一样的吗 函数声明 function sum logic goes here 函数表达式 var sum funct
  • HTML 选择和文本输入

    我们都见过无数的表单实例 其中一个选择下拉菜单的选项之一为 其他 选择该选项后 我们会看到一个输入文本框 一直隐藏 要求我们输入输入内容 有没有更好的方法来实现这个 有没有插件可以让我做得更好 或者标准 HTML 元素就足够了 可能对选择标
  • 如何将 URL 参数列表字符串分解为成对的 [key] => [value] 数组? [复制]

    这个问题在这里已经有答案了 可能的重复 将查询字符串解析为数组 如何分解字符串 例如 a 1 b 2 c 3 从而变成 Array a gt 1 b gt 2 c gt 3 使用常规的explode 函数定界于 将分隔参数但不在 key g
  • xs:key,为什么当键值不是键引用的成员时验证会通过?

    我有兴趣在我的 Xsd 中定义一个关键约束 据我了解 使用xs key应该将使用的值限制为引用值列表的成员 假设我们使用样本 Xsd
  • Scala:有没有办法像在 Java 中一样使用 PriorityQueue?

    我有一个类 我想在 scala collection mutable PriorityQueue 中使用 但我不想仅出于此目的将其设为 Ordered A 我不认为我想要使用的 PriorityQueue 排序是类的自然排序 class M
  • 为什么STL容器没有虚拟析构函数?

    有谁知道为什么STL容器没有虚拟析构函数 据我所知 唯一的好处是 它通过一个指针 指向虚拟方法表 减少实例的大小 并且 它使破坏和建设速度更快一些 缺点是以通常的方式对容器进行子类化是不安全的 我的问题可以重新表述的另一种方式是 为什么 S
  • 获取列类型的SQL语句

    有没有可以返回表中列的类型的SQL语句 In ISO SQL i e most RDBMS today you can use the INFORMATION SCHEMA COLUMNS view which SQL Server sup
  • Python argv 采用通配符路径

    我运行我的脚本doc1 png作为第一个参数 但它被转换为doc1 image1 png 我怎样才能让Python看到确切的参数 img list print sys argv 1 x sys argv 1 img list img for
  • 调用方法后如何在标准输出中写入(自动执行通知系统(Iphone))

    我正在尝试使用自动通知系统 Iphone https github com simonwhitaker PyAPNs 当您想要发送通知时 您可以调用 apns gateway server send notification key Pay
  • bluebirdjs 承诺包裹在 for 循环中

    我有很多函数用于向我的服务提供数据 我想循环遍历它们中的每一个 并在其中一个返回所需结果时立即停止 如果第一个有效 那很好 如果有异常或数据无效 我想转到下一个 依此类推 我怎样才能实现这个目标 我有以下代码 handleData func
  • Facebook“赞”按钮回调

    我对实现 facebook 喜欢 按钮感兴趣 但我想知道哪些用户正在单击此按钮 以便我可以从中获取一些有用的信息 据我所知 Facebook 让我们对谁在点击什么一无所知 有人知道如何跟踪哪个用户点击了特定产品的 喜欢 按钮吗 更新 赞 按
  • 如何将对象存储在 firebase cloud function RAM 中?

    我的应用程序需要在处理用户的请求之前构建几个大型哈希图 理想情况下 我想将这些哈希图存储在机器的内存中 这意味着它永远不需要进行任何昂贵的处理 并且可以快速处理任何传入的请求 但这对于 Firebase 不起作用 因为用户有可能触发一个新实
  • 将运行 EXE 的当前 Windows 用户替换为另一个用户

    假设我构建了一个从网络文件夹读取文件的 Windows 应用程序 网络折叠限制只有一个用户 fooUser 的访问 该应用程序安装在网络上的多台计算机上 我需要将当前用户替换为 fooUser 以便能够通过代码访问网络文件夹上的文件 这是一
  • 如何以字幕方式输出字符串?

    我希望能够输入一个字符串 带空格 并将其显示为移动符号 例如 Input Hello World 5 This signifies the number of characters the sign can hold Output Sign
  • arr.sort(key=lambda x: (x[0],-x[1])) 是什么意思?

    gt gt gt arr 4 5 4 6 6 7 2 3 1 1 gt gt gt arr sort key lambda x x 0 statement 1 gt gt gt arr 1 1 2 3 4 5 4 6 6 7 gt gt g