仅当单独布尔列表中的元素为 True 时,才对 python 列表中的元素求和

2024-01-21

我有两个 python 列表,

A = [ 1, 2, 3, 4, 5 ]
B = [ True, False, False, True, True ]

列表 A 和 B 的长度相同。

我只想对 A 中与 B 中的 True 元素相对应的元素求和。 我知道我可以用以下方法做到这一点:

sum([A[x] for x in xrange(len(A)) if B[x]])

但我想知道是否有一个更优雅的解决方案,不涉及循环每个列表中的元素?


Using itertools.compress https://docs.python.org/3/library/itertools.html#itertools.compress:

>>> from itertools import compress
>>> sum(compress(A, B))
10

The implementation of itertools.compress is described on the linked page. It's short and simple, so you don't have to import itertools 1:

>>> sum(a for a, b in zip(A, B) if b)
10

1 OTOH, itertools.compress is implemented in C, and therefore should be faster

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

仅当单独布尔列表中的元素为 True 时,才对 python 列表中的元素求和 的相关文章

随机推荐

  • C# 的跨平台嵌入式数据库/键值存储 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一种快速 可嵌入的键 值存储 其具有键集合上的游标语义 或简单的可嵌入数据库 可以在 NET
  • 小端和大端

    我必须编写一个例程来在两种表示形式之间进行转换 但我有点困惑 如果我有一个内存为 32 位字的架构 我必须存储字 0xA15D23B1 使用 Big endian 时 内存在 23 之后的 5D 之后变为 A1 最后变为 B1 使用 Lit
  • bootstrap.yml 未加载 Spring Boot 2

    我遇到了与此类似的问题thread https stackoverflow com questions 48300174 my application does not read bootstrap yml why is that 尚未解决
  • 递归泛型

    有没有办法使此方法适当通用并消除警告 p Sort a collection by a certain value in its entries This value is retrieved using the given code va
  • Angular 5 路由:空路径内的空路径

    我正在使用 Angular 5 尝试将空路径子路由加载到空路径父布局路由中 FullLayoutComponent 始终会加载 而 WhyUsComponent 组件会在我访问 localhost 4200 why us 时加载 但是当我访
  • 从移动应用程序向 Android Wear 发送数据延迟 [重复]

    这个问题在这里已经有答案了 我正在尝试在设置应用程序和表盘之间同步数据 但运气不佳 我尝试使用 googleApiClient 与侦听器 onDataChanged 和 DataMaps 但穿戴设备接收数据有很大的延迟 我说的是从手机发送到
  • 如何在常量正确性下实现 strtol ?

    根据http www cplusplus com reference cstdlib strtol http www cplusplus com reference cstdlib strtol 该函数的签名为long int strtol
  • 如何根据角色获取用户?

    如何从 MembershipUserCollection 中检索 客户 角色的用户 Roles GetUsersInRole返回一个string 角色中的用户名 如果你真的想要MembershipUser对象 您可以使用 var list
  • R plm 与 Fixst 包 - 结果不同?

    我试图理解为什么 R 包 plm and fixest 当我使用异方差稳健标准误差 HC1 和状态固定效应估计面板模型时 给我不同的标准误差 有人给我提示吗 这是代码 library AER For the Fatality Dataset
  • setup.cfg Python 项目的单源包版本

    对于具有以下功能的传统 Python 项目setup py 有多种方法可以确保版本字符串不必在整个代码库中重复 看PyPA 的 单一来源包版本 指南 https packaging python org guides single sour
  • “in”关键字有什么用?

    在 Haskell 中 为什么不在 do 块内使用 in 和 let 而必须以其他方式使用 例如 在下面有些人为的示例中 afunc Int gt Int afunc a let x 9 in a x amfunc IO Int gt IO
  • 如何从左向右推送具有滑动效果的ViewController?动画名称必填

    EDIT 下面这个 gif 的动画名称是什么 从右到左 下面这个gif 从左到右 的补充动画的动画名称是什么 NOTE 我不想继续下去 我想用该动画推送视图 EDIT 2 当我谈论动画名称时 有些人会感到困惑 然而 这里是一个有效的动画名称
  • 流定义

    我正在阅读 Java I O 流 但我对与它们相关的正确定义感到困惑 有人说流是一种传输数据的传送带 其他人说流是流或 数据序列 其他人说流是 连接到输入或输出 来源 那么正确的定义是什么 流是一个概念 但没有那么严格 只有一个描述是正确的
  • Bookdown 按照 _bookdown.yml 中指定的章节顺序停止

    Bookdown 将按字母顺序对章节进行排序 除非之后指定订单rmd files in the bookdown yml file https bookdown org yihui bookdown usage html 这在过去对我来说效
  • Z3/SMT:我什么时候应该选择推送/弹出来重置?

    我使用 Z3 来解决符号执行器产生的路径条件 该执行器以深度优先顺序探索状态空间 与 CUTE DART 或 可能 SAGE 非常相似 我们正在尝试使用 Z3 的不同方式 在一种极端情况下 我们将每个查询发送到 Z3 并在之后立即 重置 它
  • java.io.IOException:连接上的流意外结束? [复制]

    这个问题在这里已经有答案了 调用我们的内部网络服务之一似乎会出现以下错误 java io IOException unexpected end of stream on Connection webservicessandbox xxx c
  • 将 async/await 转换为 Task.ContinueWith

    这个问题是由评论引发的this one https stackoverflow com a 21326957 1768303 如何反向移植非线性async await NET 4 0 代码无需Microsoft Bcl Async 在链接的
  • 根据定义将单词映射到数字

    作为较大项目的一部分 我需要阅读文本并将每个单词表示为数字 例如 如果程序读入 每个好孩子都应该得到果实 然后我会得到一个转换表 every to 1742 good to 977513 etc 现在 显然我可以使用哈希算法来获取这些数字
  • xocde5 中没有具有有效签名身份的配置文件

    当我尝试使用 Xcode5 dp6 在设备上运行应用程序时 我收到一个错误 未发现具有有效签名身份的配置文件问题 我该如何解决这个问题 您需要做的就是 1 go to Certificates Identifiers Profiles in
  • 仅当单独布尔列表中的元素为 True 时,才对 python 列表中的元素求和

    我有两个 python 列表 A 1 2 3 4 5 B True False False True True 列表 A 和 B 的长度相同 我只想对 A 中与 B 中的 True 元素相对应的元素求和 我知道我可以用以下方法做到这一点 s