【发布时间】:2020-08-27 23:12:35
【问题描述】:
我有多个包含元组的列表,例如,
list_A = [(start_1, end_1), (start_2, end_2), (start_3, end_3)]
list_B = [(start_4, end_4), ...]
有没有一种聪明的方法来生成一个只包含交叉点的result_list,而不必以嵌套方式 O(n^m) 搜索每个列表?
例子:
list_A = [('8:00 AM', '10:00 AM'), ('12:59 PM', '3:00 PM'), ('5:04 PM', '7:23 PM')]
list_B = [('9:06 AM', '9:47 AM'), ('9:51 AM', '12:45 PM'), ('1:33 PM', '2:52 PM'), ...]
list_C = [...]
list_D = [...]
# etc. etc. (m lists)
【问题讨论】:
-
你能提供一个例子吗?你在处理整数吗?浮动?你数据的性质是什么??
-
也许你可以像你的绘图那样做:创建一个二维数组(例如列表列表),绘制出元组,然后以与我们相同的方式从数组中检查垂直列从图像视觉上做?
-
您在寻找包含开头和结尾的内容吗?还是只开始包容?
-
@BinyaminEven they're time - 抱歉没有提供示例
-
@antont 听起来可能可行,但我的 x 轴是连续的,这使得离散化成为其中一个棘手的部分
标签: python algorithm set tuples intersection