仅当单独布尔列表中的元素为 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 列表中的元素求和 的相关文章

  • Python:在列表理解本身中引用列表理解?

    这个想法刚刚出现在我的脑海中 假设您出于某种原因想要通过 Python 中的列表理解来获取列表的唯一元素 i if i in created comprehension else 0 for i in 1 2 1 2 3 1 2 0 0 3
  • Python 的键盘中断不会中止 Rust 函数 (PyO3)

    我有一个使用 PyO3 用 Rust 编写的 Python 库 它涉及一些昂贵的计算 单个函数调用最多需要 10 分钟 从 Python 调用时如何中止执行 Ctrl C 好像只有执行结束后才会处理 所以本质上没什么用 最小可重现示例 Ca
  • 使 django 服务器可以在 LAN 中访问

    我已经安装了Django服务器 可以如下访问 http localhost 8000 get sms http 127 0 0 1 8000 get sms 假设我的IP是x x x x 当我这样做时 从同一网络下的另一台电脑 my ip
  • 为 Anaconda Python 安装 psycopg2

    我有 Anaconda Python 3 4 但是每当我运行旧代码时 我都会通过输入 source activate python2 切换到 Anaconda Python 2 7 我的问题是我为 Anaconda Python 3 4 安
  • Python(Selenium):如何通过登录重定向/组织登录登录网站

    我不是专业程序员 所以请原谅任何愚蠢的错误 我正在做一些研究 我正在尝试使用 Selenium 登录数据库来搜索大约 1000 个术语 我有两个问题 1 重定向到组织登录页面后如何使用 Selenium 登录 2 如何检索数据库 在我解决
  • 通过最小元素比较对 5 个元素进行排序

    我必须在 python 中使用元素之间的最小比较次数来建模对 5 个元素的列表进行排序的执行计划 除此之外 复杂性是无关紧要的 结果是一个对的列表 表示在另一时间对列表进行排序所需的比较 我知道有一种算法可以通过 7 次比较 总是在元素之间
  • 如何使用Conda下载python包并随后离线安装?

    我知道通过 pip 我可以使用以下命令下载 Python 包 但 pip install 破坏了我的内部包依赖关系 当我做 pip download
  • PyUSB 1.0:NotImplementedError:此平台不支持或未实现操作

    我刚刚开始使用 pyusb 基本上我正在玩示例代码here https github com walac pyusb blob master docs tutorial rst 我使用的是 Windows 7 64 位 并从以下地址下载 z
  • python 相当于 R 中的 get() (= 使用字符串检索符号的值)

    在 R 中 get s 函数检索名称存储在字符变量 向量 中的符号的值s e g X lt 10 r lt XVI s lt substr r 1 1 X get s 10 取罗马数字的第一个符号r并将其转换为其等效整数 尽管花了一些时间翻
  • 基于代理的模拟:性能问题:Python vs NetLogo & Repast

    我正在 Python 3 中复制一小段 Sugarscape 代理模拟模型 我发现我的代码的性能比 NetLogo 慢约 3 倍 这可能是我的代码的问题 还是Python的固有限制 显然 这只是代码的一个片段 但 Python 却花费了三分
  • Python pickle:腌制对象不等于源对象

    我认为这是预期的行为 但想检查一下 也许找出原因 因为我所做的研究结果是空白 我有一个函数可以提取数据 创建自定义类的新实例 然后将其附加到列表中 该类仅包含变量 然后 我使用协议 2 作为二进制文件将该列表腌制到文件中 稍后我重新运行脚本
  • 如何使用 OpencV 从 Firebase 读取图像?

    有没有使用 OpenCV 从 Firebase 读取图像的想法 或者我必须先下载图片 然后从本地文件夹执行 cv imread 功能 有什么办法我可以使用cv imread link of picture from firebase 您可以
  • Python 的“zip”内置函数的 Ruby 等价物是什么?

    Ruby 是否有与 Python 内置函数等效的东西zip功能 如果不是 做同样事情的简洁方法是什么 一些背景信息 当我试图找到一种干净的方法来进行涉及两个数组的检查时 出现了这个问题 如果我有zip 我可以写这样的东西 zip a b a
  • Pygame:有没有简单的方法可以找到按下的任何字母数字的字母/数字?

    我目前正在开发的游戏需要让人们以自己的名义在高分板上计时 我对如何处理按键有点熟悉 但我只处理过寻找特定的按键 有没有一种简单的方法可以按下任意键的字母 而不必执行以下操作 for event in pygame event get if
  • python获取上传/下载速度

    我想在我的计算机上监控上传和下载速度 一个名为 conky 的程序已经在 conky conf 中执行了以下操作 Connection quality alignr wireless link qual perc wlan0 downspe
  • Jupyter Notebook 内核一直很忙

    我已经安装了 anaconda 并且 python 在 Spyder IPython 等中工作正常 但是我无法运行 python 笔记本 内核被创建 它也连接 但它始终显示黑圈忙碌符号 防火墙或防病毒软件没有问题 我尝试过禁用两者 我也无法
  • 将图像分割成多个网格

    我使用下面的代码将图像分割成网格的 20 个相等的部分 import cv2 im cv2 imread apple jpg im cv2 resize im 1000 500 imgwidth im shape 0 imgheight i
  • Conda SafetyError:文件大小不正确

    使用创建 Conda 环境时conda create n env name python 3 6 我收到以下警告 Preparing transaction done Verifying transaction SafetyError Th
  • 使用 Python 绘制 2D 核密度估计

    I would like to plot a 2D kernel density estimation I find the seaborn package very useful here However after searching
  • Python 类继承 - 诡异的动作

    我观察到类继承有一个奇怪的效果 对于我正在处理的项目 我正在创建一个类来充当另一个模块的类的包装器 我正在使用第 3 方 aeidon 模块 用于操作字幕文件 但问题可能不太具体 以下是您通常如何使用该模块 project aeidon P

随机推荐

  • 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