相关疑难解决方法(0)

找到两个嵌套列表的交集?

我知道如何获得两个平面列表的交集:

b1 = [1,2,3,4,5,9,11,15]
b2 = [4,5,6,7,8]
b3 = [val for val in b1 if val in b2]
Run Code Online (Sandbox Code Playgroud)

要么

def intersect(a, b):
    return list(set(a) & set(b))

print intersect(b1, b2)
Run Code Online (Sandbox Code Playgroud)

但是当我必须找到嵌套列表的交集时,我的问题就开始了:

c1 = [1, 6, 7, 10, 13, 28, 32, 41, 58, 63]
c2 = [[13, 17, 18, 21, 32], [7, 11, 13, 14, 28], [1, 5, 6, 8, 15, 16]]
Run Code Online (Sandbox Code Playgroud)

最后我想收到:

c3 = [[13,32],[7,13,28],[1,6]]
Run Code Online (Sandbox Code Playgroud)

你能帮我个忙吗?

有关

python intersection list

468
推荐指数
10
解决办法
60万
查看次数

内置函数,用于计算Python中的重叠

是否有内置函数来计算两个离散区间之间的重叠,例如[10,15]和[20,38]之间的重叠?在这种情况下,重叠为0.如果是[10,20],[15,20],则重叠为5.

python

25
推荐指数
2
解决办法
2万
查看次数

如何有效地重叠间隔

我需要你的帮助,我有一个问题(见图),我已经说过两个数组,每个数组都包含不同长度和实际值的区间,我需要找出我是如何有效地重叠这个区间的.

我对创意,纸质理论或混凝土算法持开放态度,让我找到出路!我猜想要以某种方式在波浪中改变它并重叠它们.

它非常重要,它适用于我的论文.

作为一个例子,这里有数字来解释它更好:

  1. 阵列:1-2,5-7,9-12
  2. 阵列:3-4,5-6,13-​​17

结果将是包含新间隔的单个数组.

第二个间隔(第一个和第二个)重叠.

结果数组:1-2,3-4,5-7,9-12,13-17

我正在考虑"间隔树",但它不足以让我如何合并它们.

图片

提前致谢!

overlap intervals

3
推荐指数
1
解决办法
4957
查看次数

标签 统计

python ×2

intersection ×1

intervals ×1

list ×1

overlap ×1