在python中查找二维数组中数字对的频率

2023-12-19

我想找到二维数组中成对的频率。 输入示例如下:

list_of_items = [[12,14,18],[12,19,54,89,105],[ 14, 19],[54, 88 ,105,178]]

预期输出如下:

(12,14):1
(12,18):1
(12,19):1
(12,54):1
(12,88):0
.
.
.
(54,105):2
.
.

我尝试过以下代码,但我认为这不是最佳解决方案:

number_set = [ 12, 14, 18,19,54,88,89 , 105, 178]

def get_frequency_of_pairs(list_of_items, number_set):
    x=1
    combination_list = []
    result = {}
    for i in number_set:
       for j in range(x,len(number_set)):
           combination_list = combination_list +[(i,number_set[j])]
       x = x+1
    for t in combination_list:
        result[t]=0
    for t in combination_list:
       for items in list_of_items:
           if( set(t).issubset(items) ):
              result[t]=result[t]+1
    return result

您可以使用 itertools 中的组合并使用集合中的 Counter,如下所示:

counts = collections.Counter()
list_of_items = [[12,14,18], [12,19,54,89,105], [14,19], [54,88,105,178]]
for sublist in list_of_items:
    counts.update(itertools.combinations(sublist, 2))

print counts
Counter({(54, 105): 2, (88, 105): 1, (54, 89): 1, (19, 105): 1, (12, 14): 1, (14, 19): 1, (14, 18): 1, (12, 89): 1, (12, 19): 1, (89, 105): 1, (12, 18): 1, (19, 89): 1, (19, 54): 1, (105, 178): 1, (88, 178): 1, (54, 178): 1, (12, 105): 1, (12, 54): 1, (54, 88): 1})

必须枚举每对才能进行计数,并且此方法使您只能枚举每对一次。应该是最好的时间复杂度。

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

在python中查找二维数组中数字对的频率 的相关文章

随机推荐

  • 将 scala.math.BigDecimal 转换为 java.math.BigDecimal?

    我如何转换scala math BigDecimal to java math BigDecimal 无需与字符串进行双重转换 val sb scala math BigDecimal 12345 val jb sb bigDecimal
  • 在数据表的分页控件中显示不带省略号的页面

    我正在使用 jQuery Datatables JS 和 Bootstrap 我遇到了一个问题 有一个解决方法 但它不是最好的 问题 我的表包含超过 4k 条记录 如果处理表的人需要从记录 200 到 300 进行处理 并且为了方便起见 他
  • PHP - 从数据库构建多级关联数组(从数据库按州对城市进行排序)

    我对 php 有点陌生 在过去的几个小时里我一直在绞尽脑汁试图弄清楚这一点 我需要从数据库中按州对城市进行排序 我使用以下查询来检索数据集 SELECT state city FROM table ORDER BY state ASC ci
  • 如何克隆道具对象并使其不反应[重复]

    这个问题在这里已经有答案了 我有一些表单数据 我通过道具与子组件共享 现在我想克隆 prop 对象并使其不响应 就我而言 我希望用户能够修改 props 值 而无需实际更改克隆值 克隆值应该仅用于向用户显示编辑时的表单内容 下面的代码显示了
  • Swift:.classForCoder() 的替代方案

    给出以下代码 return TyphoonDefinition withClass AppDelegate classForCoder definition in definition injectProperty assembly 有必要
  • 内核sys_call_table地址与system.map中指定的地址不匹配

    我正在尝试温习 C 所以我一直在研究 Linux 内核的系统调用表 在 3 13 0 32 generic 上 我在网上找到了一个资源 它使用以下函数搜索系统调用表 并将其加载到 LKM 中的内核中 static uint64 t aqui
  • 如何在 Linq 中进行完全外连接?

    我继承了一个设计不完全优化的数据库 并且我需要操作一些数据 让我对我必须做的事情给出一个更常见的类比 假设我们有一个Student桌子 一个StudentClass记录他参加的所有课程的表格 以及StudentTeacher表存储了所有教过
  • 将 Spring Boot WAR 部署到 Tomcat 8 - 访问资源时出现 HTTP 404

    我是 Spring Boot 的新手 正在努力将一个简单的 HTML Web 应用程序 AngularJS 部署到 Tomcat 8 这个 Web 应用程序仅提供一些 HTML CSS JS 内容 没有对后端的 REST 调用 它是使用 W
  • 是否有 VS Code 和 VS Code 扩展的活动监视器?

    有一天 我在拔掉电源的情况下使用我的笔记本电脑 3 小时内它就从充满电到了 10 通常电池可以持续一整天 长话短说 VS Code 正在耗尽我的电池寿命 VS Code 的能源使用量似乎比排名第二的能源用户 Chrome 高出近 30 倍
  • 修改Devise重置密码错误文本

    使用 Devise GEM 当用户密码重置时 他们可以设置新密码 如果输入的密码不匹配或密码太短 您会收到默认消息 密码与确认不匹配 密码太短 最少8个字符 如何 在哪里可以更改这些错误消息的文本 将其添加到您的 config locals
  • iOS 7隐藏标签栏问题

    IOS7 中隐藏选项卡显示非正式行为 当我使用 self tabBarController tabBar hidden YES 上面的代码隐藏了 tabBar 但我的底部视图不保持交互式 但是当我在导航中推送 viewController
  • Mac Mini 足以用作 iPhone 开发机吗?

    所以过去我接触过的两个客户 所有的讨论都是关于创建一个 iPhone 应用程序 我不会撒谎 我想制作一个 或者至少学习如何制作它们 我从未拥有过 Mac 所以我不知道他们的操作系统如何工作 工作 执行 无论如何 我是一名 NET 开发人员
  • 如何读取 AngularJS 中 ArrayBuffer 中的二进制数据?

    在 AngularJS 中有 http get http docs angularjs org api ng 24http get动态获取数据 不幸的是 从官方文档中很难理解如何读取二进制数据 例如 用于图像操作 默认get获取数据作为St
  • 如何正确转义正则表达式中的字符

    我想在字符串内进行字符串搜索 简单地说MySTR search Needle 出现此问题时needle字符串包含特殊的正则表达式字符 如 等 它因错误而失败invalid quantifier 我浏览过网页 发现可以使用以下命令转义字符串
  • 响应式六边形网格

    我从互联网上加载了我的网站上的多个图像 是否有可能给所有这些图像一个六边形在响应式网格中 div img src link class Image div div img src link class Image div 我找到了多种方法来
  • 如何从 adb shell 检查 SharedPreferences?

    现在我们可以从远程 Shell 检查 sqlite3 数据库 http developer android com guide developing tools adb html sqlite 是否可以从 adb shell 检查 Shar
  • 通过ObjectID获取MongoDB集合

    MongoDB ID 对于单个数据库集群是唯一的 是否可以获取使用特定 ObjectID 的集合 我有一个 ObjectID 的十六进制表示形式 并且需要知道具有此 ID 的文档所在的集合 可能吗 它不是本机功能 但可以通过迭代所有集合来实
  • “返回等待承诺”和“返回承诺”之间的区别

    鉴于下面的代码示例 行为是否有任何差异 如果有 这些差异是什么 return await promise async function delay1Second return await delay 1000 return promise
  • 正则表达式正在捕获整个字符串

    我正在使用以下正则表达式 public private function a zA Z 0 9a zA Z 0 9a zA Z 匹配以下字符串 public function messenger text sendMsg text priv
  • 在python中查找二维数组中数字对的频率

    我想找到二维数组中成对的频率 输入示例如下 list of items 12 14 18 12 19 54 89 105 14 19 54 88 105 178 预期输出如下 12 14 1 12 18 1 12 19 1 12 54 1