当前位置: 首页 > 面试题库 >

列表中元组的交集-python

岳意蕴
2023-03-14
问题内容

我有一个这样的元组列表:

all_tuples=[(92, 242),(355, 403),(355, 436),(355, 489),(403, 436),(436, 489),(515, 517),(517, 859),(634, 775),(701, 859),(775, 859)]

而且我需要将所有元组的交集合并起来。

The desired result = [{92, 242},{355, 403,436,489},{515, 517,859,701,775,634}]

那就是相交的元组是迭代地联合的。

我试图将元组转换为集合,然后采用交集,但没有用。任何想法?


问题答案:

这是网络问题,使用 networkx

import networkx as nx 
G=nx.Graph()
all_tuples=[(92, 242),(355, 403),(355, 436),(355, 489),(403, 436),(436, 489),(515, 517),(517, 859),(634, 775),(701, 859),(775, 859)]
G.add_edges_from(all_tuples)
list(nx.connected_components(G))
Out[1216]: [{92, 242}, {355, 403, 436, 489}, {515, 517, 634, 701, 775, 859}]


 类似资料:
  • 问题内容: 我在这样的列表中有一个元组/列表: python(在非常低的cpu / ram机器上运行)交换值的最快方法是什么… 当前使用: 有更好或更快速的方法吗??? 问题答案: 您可以使用地图: 或列表理解: 列表理解是首选方法,并且在需要lambda时,它比map快得多。但是请注意,列表理解具有严格的评估标准,也就是说,如果担心内存消耗,它将在绑定到变量后立即对其进行评估。 生成器 :

  • 问题内容: 这里是问题:我有一个元组列表(也可以根据需要设置)。例如: 我想找到一个清单 因为一旦将所有集合放在一起,交集就不会为空。 举个例子 结果应该是 希望问题解决。那么,如果有的话,在python中最优雅的方法是什么? 干杯 问题答案: 这些是图形的 连接组件 ,可以使用诸如的图形库找到。对于第二个示例:

  • 问题内容: 这个问题已经在这里有了答案 : 从列表列表中删除重复项 (12个答案) 4年前关闭。 这是我的两个清单。 我的输出应为以下内容; 如何获得此输出? 先感谢您 问题答案: 您将必须将列表转换为元组列表,然后使用交集。请注意,下面的解决方案可能具有不同顺序的元素,并且由于我使用的是set,因此显然不会存在重复项。 您也可以将交叉点保存在变量中并获取最终列表,如果需要排序,则需要重复: 和交

  • 问题内容: 我有一个小整数列表,说: 我希望收集顺序对并返回一个包含从这些对创建的元组的新列表,即: 我知道必须有一种非常简单的方法来执行此操作,但不能完全解决。 谢谢 问题答案: 好吧,有一种非常简单但有些脆弱的方法,将其自身切片后再压缩。 如果您不知道,最后一个slice参数是“ step”。因此,我们从零(1、3、5)开始选择列表中的第二个项目。然后,我们执行相同的操作,但是从一个(2,4,

  • 问题内容: 我正在使用python进行游戏,并且能够得到两个列表的交集: 现在,如果一个列表包含和并包含第三个元素,是否有一个内置函数来查找内部所有三个列表的交集?例如 那么结果应该是 问题答案: 对于2.4,您只需定义一个交集函数。 对于较新版本的python: 相交方法接受任意数量的参数 或者,您可以将第一个集合与其自身相交,以避免切片列表并进行复制: 我不太确定哪种方法会更有效,并且感觉这将

  • 本文向大家介绍计算Python中元组列表中的元组出现,包括了计算Python中元组列表中的元组出现的使用技巧和注意事项,需要的朋友参考一下 列表由元组组成。在本文中,我们将计算列表中存在的唯一元组的数量。 使用defaultdict 我们将给定列表视为defaultdict数据容器,并使用in条件对其中的元素进行计数。 示例 输出结果 运行上面的代码给我们以下结果- 带柜台和链条 计数器和链函数是