多个计数器的联合

2023-11-30

查找列表并集的最佳方法是什么(就可读性和效率而言)Counters?

例如,我的列表可能如下所示:

counters = [Counter({'a': 6, 'b': 3, 'c': 1}),
            Counter({'a': 2, 'b': 5}),
            Counter({'a': 4, 'b': 4}),
            ...]

我想计算并集,即counters[0] | counters[1] | counters[2] | ....

一种方法是这样的:

def counter_union(iterable):
    return functools.reduce(operator.or_, iterable, Counter())

有更好的方法吗?


天哪,Python 程序员什么时候开始害怕简单的循环了?哈哈。

result = Counter()
for c in counters:
    result |= c

在现实生活中,将事物压缩到理论上尽可能少的角色中确实没有任何奖励。嗯,是的,Perl 有,但 Python 没有;-)

后来:根据 user2357112 的评论,从 Python 3.3 开始,上面的代码将“就地”并入result。那是,result真正被重用,可能在每次迭代中变得更大。

以任何拼写形式

counters[0] | counters[1] | counters[2] | ...

相反,当计算下一个部分结果时,到目前为止的整个部分结果都会被丢弃。这可能会慢很多,也可能不会慢很多。

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

多个计数器的联合 的相关文章

随机推荐

  • SMT 求解器中约束强化的效率

    解决优化问题的一种方法是使用 SMT 求解器来询问是否存在 坏 解决方案 然后逐步添加更严格的成本约束 直到命题不再可满足 例如 该方法在以下内容中进行了讨论 http www lsi upc edu oliveras espai pape
  • 找出创建满足 m 个条件的长度为 n 的序列 A 的多种方法

    找出创建满足 m 个条件的长度为 n 的序列 A 的多种方法 该序列 A 应仅包含非负数 每个条件由三个整数 i j k 描述 表示 max A i A j k 保证序列的每个索引至少在一种情况下存在 即存在有限数量的此类序列 n 的最大值
  • 在 scrapy 的 start_requests() 中返回项目

    我正在编写一个 scrapy 蜘蛛 它将许多 url 作为输入并将它们分类 作为项目返回 这些 URL 通过我的爬虫程序提供给蜘蛛程序start requests method 有些网址不需要下载就可以分类 所以我想yield直接Item对
  • 将图像绑定到 URL Xamarin 表单 XAML

    我在使用 Xamarin Forms 将图像绑定到 UriImageSource 时遇到问题 我已经实现了 FlowListView 它呈现一个类似网格的文本列表 但与每个产品关联的图像没有出现 还有其他人遇到过这个问题 知道如何解决它吗
  • 将图像添加到 Axlsx 生成的 Excel 文件中。?

    我在用Axlsx用于生成 Excel 文件 我需要将图像添加到 Excel 文件中 我用过这个代码 ws add image image src gt something noSelect gt true noMove gt true do
  • 使用 Paramiko 进行目录传输

    如何使用Paramiko传输完整的目录 我正在尝试使用 sftp put Folder1 Folder2 这给了我这个错误 错误 Errno 21 是一个目录 您可以子类化 paramiko SFTPClient 并向其添加以下方法 imp
  • iOS 应用商店评级(跟踪用户的操作)

    使用下面的代码我可以要求用户在应用程序商店中对应用程序进行评分 if available iOS 10 3 SKStoreReviewController requestReview else Fallback on earlier ver
  • Spring Integration 消息流中的条件重试建议?

    我有一个 http 网关调用 偶尔会返回 503 错误 我想配置重试建议围绕该调用 但我不想对每个错误都执行此操作 而只是 503
  • 使用 shell_exec 从 php 调用 perl 脚本

    我在使用 shell exec 函数从 php 执行 perl 脚本时遇到问题 这是我尝试过的 并且之前已经成功 perl shell exec usr bin perl cbh script clean pl echo perl 这将不起
  • D3.js 带有嵌套 svg 的缩放会破坏 Internet Explorer 中的视口

    我正在使用 d3 js 动态设置嵌套 svg 即嵌套在封闭 svg 内的内部 svg Ad3 behavior zoom 监听外部 svg 上的缩放事件并进行所需的转换 除了 Internet Explorer IE 11 之外 一切正常
  • 保存 DocumentSnapshot 以在 Firestore android 中进行分页

    我正在尝试在android 中实现分页功能 每次活动开始时我想从集合中获取新的 10 条记录 下次当我打开活动时 最后可见 文档快照 必须保存在 SharedPreference 中才能获取新列表 db FirebaseFirestore
  • JFreeChart StackedXYAreaRenderer 导致图表中出现“卷曲”

    在本例中 我使用 JFreeChart 显示随时间变化的两组数据的堆积折线图dogs and cats import java text ParseException import java text SimpleDateFormat im
  • 使用不带模板参数的模板类

    我有一个带有模板类的 Visual Studio 2008 C 项目 该模板类在构造函数中采用模板化值 如下所示 template lt typename A gt struct Foo const A a Foo const A a a
  • 可以使用具有多个选项卡/工作表的 csv 吗?

    我正在调用 Web 服务 并且来自 Web 服务的数据采用 csv 格式 如果我尝试将数据保存在 xls xlsx 中 那么我会在工作簿中得到多个工作表 那么 如何在 C 中使用多个选项卡 工作表将数据保存在 csv 中 我知道具有多个选项
  • 在 Android 中将视频上传到 Facebook

    Problem 我的视频没有上传到 Facebook Question 如何将视频上传到 Facebook Note 我可以从我的画廊上传图片 没有Exceptions被抛出 我认为线路有问题 params putString filena
  • 同源策略和 CORS - 有什么意义?

    我在理解同源策略和 解决 它的不同方法时遇到了一些困难 显然 同源策略是作为一种安全措施而存在的 因此来自服务器 域的脚本无法访问来自另一服务器 域的数据 同样清楚的是 有时 能够打破此规则是有用的 例如 混搭应用程序访问来自不同服务器的信
  • AJAX 返回带有输出的 HTML 代码

    尝试了一些解决方案后this和许多其他问题我无法弄清楚我的代码中的确切问题是什么 我的代码 document ready function botname blur function ajax type POST url tukaiexot
  • vscode g++ 找不到 .cpp 定义文件

    我正在尝试使用多个 cpp 和 hpp 文件编译 C 示例 但 g 找不到任何成员函数定义 主要 cpp include
  • 从 wagtail 外部上传 Wagtail 图像

    在无法子类化的 Django 模型中Page 我想转换现有的 ImageField 以使用 Wagtail 图像 我将该字段重新定义为 avatar models ForeignKey wagtailimages Image null Tr
  • 多个计数器的联合

    查找列表并集的最佳方法是什么 就可读性和效率而言 Counters 例如 我的列表可能如下所示 counters Counter a 6 b 3 c 1 Counter a 2 b 5 Counter a 4 b 4 我想计算并集 即cou