将嵌套列表分成具有不相交元素的组

2024-01-09

我有一个看起来像这样的列表

my_list = [[1, 2, 3, 4], [4, 5, 6, 7], [9, 10, 11, 12]]

我想找到将列表分成两组的最佳方法,以便每组中的各个元素不重叠。例如,在上面的示例中,这两个组将是

group1 = [[1, 2, 3, 4], [4, 5, 6, 7]]
group2 = [[9, 10, 11, 12]]

这是因为 9、10、11、12 从未出现在group1.


类似于将列表与公共元素组合起来 https://stackoverflow.com/a/53886179/9698684,解决这个问题的一种方法可能是从嵌套列表中定义一个图,将每个子列表作为一个path https://en.wikipedia.org/wiki/Path_(graph_theory), 和 寻找连接的组件 https://en.wikipedia.org/wiki/Component_(graph_theory):

import networkx as nx

my_list = [[1, 2, 3, 4], [4, 5, 6, 7], [9, 10, 11, 12]]

G=nx.Graph()
for l in my_list:
    nx.add_path(G, l)
components = list(nx.connected_components(G))
# [{1, 2, 3, 4, 5, 6, 7}, {9, 10, 11, 12}]    

groups = []
for component in components:
    group = []
    for path in my_list:
        if component.issuperset(path):
            group.append(path)
    groups.append(group)

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

将嵌套列表分成具有不相交元素的组 的相关文章

  • pydev 调试器:严重警告:此版本的 python 似乎编译不正确(内部生成的文件名不是绝对的)[重复]

    这个问题在这里已经有答案了 通过运行 from sklearn datasets import fetch california housing import pandas as pd pd set option precision 4 m
  • 如何使用 Plotly 中的直方图将所有离群值分入一个分箱?

    所以问题是 我可以在 Plotly 中绘制直方图 其中所有大于某个阈值的值都将被分组到一个箱中吗 所需的输出 但使用标准情节Histogram类我只能得到这个输出 import pandas as pd from plotly import
  • Django 模型在模板中不可迭代

    我试图迭代模型以获取列表中的第一个图像 但它给了我错误 即模型不可迭代 以下是我的模型和模板的代码 我只需要获取与单个产品相关的列表中的第一个图像 模型 py class Product models Model title models
  • 如何在 pytest 中将单元测试和集成测试分开

    根据维基百科 https en wikipedia org wiki Unit testing Description和各种articles https techbeacon com devops 6 best practices inte
  • Pandas 中允许重复列

    我将一个大的 CSV 包含股票财务数据 文件分割成更小的块 CSV 文件的格式不同 像 Excel 数据透视表之类的东西 第一列的前几行包含一些标题 公司名称 ID 等在以下列中重复 因为一家公司有多个属性 而不是一家公司只有一栏 在前几行
  • 从零开始的 numpy 形状意味着什么

    好的 我发现数组的形状中可以包含 0 对于将 0 作为唯一维度的情况 这对我来说是有意义的 它是一个空数组 np zeros 0 但如果你有这样的情况 np zeros 0 100 让我很困惑 为什么这么定义呢 据我所知 这只是表达空数组的
  • 为什么Python的curses中escape键有延迟?

    In the Python curses module I have observed that there is a roughly 1 second delay between pressing the esc key and getc
  • 切片 Dataframe 时出现 KeyError

    我的代码如下所示 d pd read csv Collector Output csv df pd DataFrame data d dfa df copy dfa dfa rename columns OBJECTID Object ID
  • 在Python中调整图像大小

    我有一张尺寸为 288 352 的图像 我想将其大小调整为 160 240 我尝试了以下代码 im imread abc png img im resize 160 240 Image ANTIALIAS 但它给出了一个错误TypeErro
  • 更改 `base_compiledir` 以将编译后的文件保存在另一个目录中

    theano base compiledir指编译后的文件存放的目录 有没有办法可以永久设置theano base compiledir到不同的位置 也许通过修改一些内部 Theano 文件的内容 http deeplearning net
  • Seaborn Pairplot 图例不显示颜色

    我一直在学习如何在Python中使用seaborn和pairplot 这里的一切似乎都工作正常 但由于某种原因 图例不会显示相关的颜色 我无法找到解决方案 因此如果有人有任何建议 请告诉我 x sns pairplot stats2 hue
  • 将 2D NumPy 数组按元素相乘并求和

    我想知道是否有一种更快的方法 专用 NumPy 函数来执行 2D NumPy 数组的元素乘法 然后对所有元素求和 我目前使用np sum np multiply A B 其中 A B 是相同维度的 NumPy 数组m x n 您可以使用np
  • 在 Pandas 中使用正则表达式的多种模式

    我是Python编程的初学者 我正在探索正则表达式 我正在尝试从 描述 列中提取一个单词 数据库名称 我无法给出多个正则表达式模式 请参阅下面的描述和代码 描述 Summary AD1 Low free DATA space in data
  • Python 将日志滚动到变量

    我有一个使用多线程并在服务器后台运行的应用程序 为了无需登录服务器即可监控应用程序 我决定包括Bottle http bottlepy org为了响应一些HTTP端点并报告状态 执行远程关闭等 我还想添加一种查阅日志文件的方法 我可以使用以
  • 创建嵌套字典单行

    您好 我有三个列表 我想使用一行创建一个三级嵌套字典 i e l1 a b l2 1 2 3 l3 d e 我想创建以下嵌套字典 nd a 1 d 0 e 0 2 d 0 e 0 3 d 0 e 0 b a 1 d 0 e 0 2 d 0
  • 使用 NumPy 将非均匀数据从文件读取到数组中

    假设我有一个如下所示的文本文件 33 346 1223 10 23 11 23 12 23 13 23 14 23 15 23 16 24 10 24 11 24 12 24 13 24 14 24 15 24 16 25 14 25 15
  • 使用yield 进行字典理解

    作为一个人为的例子 myset set a b c d mydict item yield join item s for item in myset and list mydict gives as cs bs ds a None b N
  • 无法在前端使用 JavaScript Fetch API 将文件上传到 FastAPI 后端

    我正在尝试弄清楚如何将图像发送到我的 API 并验证生成的token那是在header的请求 到目前为止 这就是我所处的位置 app post endreProfilbilde async def endreProfilbilde requ
  • 您可以将操作直接应用于map/reduce/filter 中的参数吗?

    map and filter通常可以与列表理解互换 但是reduce并不那么容易被交换map and filter 此外 在某些情况下我仍然更喜欢函数语法 但是 当您需要对参数本身进行操作时 我发现自己正在经历语法体操 最终必须编写整个函数
  • 检查字典键是否有空值

    我有以下字典 dict1 city name yass region zipcode phone address tehsil planet mars 我正在尝试创建一个基于 dict1 的新字典 但是 它不会包含带有空字符串的键 它不会包

随机推荐

  • Spark中“RDD可以存储在内存中”是什么意思?

    Spark的介绍中说 RDD 可以在查询之间存储在内存中 无需复制 http spark apache org research html 据我所知 您必须使用手动缓存 RDD cache or persist 如果我不采取任何措施 如下所
  • Windows subprocess.Popen 不带 shell=True 的批处理文件

    我有一个运行的函数lessc 安装有npm install g less gt gt gt import subprocess gt gt gt subprocess Popen lessc Traceback most recent ca
  • 在打开的 Windows 资源管理器中选择一个文件

    我有以下代码 它将启动 Windows 资源管理器并选择一个文件并最大化资源管理器 然后它将查找 Windows 资源管理器并将其最小化 我做了最大化 最小化 这样我就不必手动执行此操作 我知道很懒 我在代码中设置了此设置 仅在文件夹未打开
  • JavaScript 倒计时器:计算距离美国东部标准时间午夜还有多少秒

    我正在使用在 JavaScript 中运行的 24 小时倒计时器 目前 它使用秒作为其基本测量单位 我在这里列出了 86400 但我想计算每天到午夜 东部标准时间 5 还剩多少秒 有人可以演示我如何定义该值并将其插入 时间 变量吗 我已经看
  • 创建 Pandas 数据框,并将列表作为行中的值

    如何按以下格式创建 pandas 数据框 A B C D 0 1 2 3 4 2 3 4 5 4 5 5 6 6 3 4 5 1 2 3 5 6 3 4 6 6 3 4 5 7 2 6 3 4 2 8 9 6 7 5 7 9 5 3 7 9
  • JavaScriptendsWith 在 IEv10 中不起作用?

    我正在尝试使用endsWith 比较JavaScript 中的两个字符串 例如 var isValid string1 endsWith string2 它在 Google Chrome 和 Mozilla 中运行良好 当涉及 IE 时 它
  • Stripe - 如何将小数金额发送到 API 进行付款?

    我正在将电子商务平台从使用 SagePay 迁移到 Stripe 文档显示使用amount的图1099和货币gbp https stripe com docs payments accept a payment web create pay
  • nginx 背后的 Unicorn 与 Passenger Standalone [已关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Facebook API - “我所有的喜欢”查询

    是否可以找回all用户曾经 喜欢 过这些帖子吗 质量等级 API 我找不到办法 FB 专家们 我们将不胜感激您的帮助 Use the Stream get http wiki developers facebook com index ph
  • 编译时引发的内部错误(NullPointerException)intellij Idea

    我正在尝试启动一个项目 java groovy on gradle 完成构建后 但是 我在两者开始时都遇到了错误main或使用以下堆栈跟踪进行单元测试 Error Internal error java lang NullPointerEx
  • 类型“Observable”上不存在属性“switchMap”

    当尝试将 switchMap 运算符应用于我的 Observable 时 我收到以下错误消息 类型 Observable 上不存在属性 switchMap 我目前使用 rxjs 版本 5 5 2 在我的组件中 我将其导入如下 import
  • Android 避免缓存

    http client DefaultHttpClient httpClient new DefaultHttpClient HttpEntity httpEntity null HttpResponse httpResponse null
  • Mono 和 C# IOCP:这是一个好主意吗?

    我正在将 C 应用程序移植到在其服务器上使用 IOCP 的 C mono 可以像 windows 一样处理 IOCP 吗 我会获得与 C 相当的性能还是应该尝试其他方法 thanks IOCP 的主要开销是 IO 而不是语言 你should
  • 禁用统计/分析 Javascript

    我的免费虚拟主机将分析 javascript 附加到所有 PHP 和 HTML 文件中 这很好 除了我使用 nuSoap 为我正在处理的 Web 服务创建 WSDL 文件 我的该死的主机将其添加 到我的 php 生成的 WSDL 文件中 有
  • 如何绘制“非”彩色文本?

    我正在寻找一种用反转颜色绘制文本的方法 对于形状 我们有TPenMode可以设置为pmNot 但我们不能对文本执行此操作 我该怎么做呢 这是这样做的 procedure DrawTextNOT const hDC HDC const Fon
  • 这种比较/排名算法如何命名?

    我见过一些网站 它们从列表中随机显示两个项目 用户选择他们喜欢的一项 然后根据用户偏好的结果 为整个数据集生成排名 有谁知道这个排名算法叫什么以及它是如何工作的 谢谢 我相信你指的是ELO评级系统 http en wikipedia org
  • socket.io 仅将数据包发送给发送者

    我还没有弄清楚如何使用 socket io 直接响应发送者 我了解到 io sockets emit 发送给所有客户端 但我不会将信息发送回发送者 code socket on login function data db users fi
  • Eclipse 中默认显示 CVS 注释

    在 Eclipse 中 您可以通过从上下文菜单中选择 团队 gt 显示注释 来显示文件的 CVS 注释 哪个用户更改了提交中的哪一行 但是 我想默认为 CVS 项目中的所有文件启用此功能 有办法这样做吗 在eclipse中的svn中发现同样
  • C# 将对象序列化为 SOAP 字符串数组问题

    我遇到一个问题 尝试将包含字符串数组的对象序列化为肥皂会导致我的应用程序出现异常 我正在执行以下操作来创建肥皂格式化程序 XmlTypeMapping mapping new SoapReflectionImporter ImportTyp
  • 将嵌套列表分成具有不相交元素的组

    我有一个看起来像这样的列表 my list 1 2 3 4 4 5 6 7 9 10 11 12 我想找到将列表分成两组的最佳方法 以便每组中的各个元素不重叠 例如 在上面的示例中 这两个组将是 group1 1 2 3 4 4 5 6 7