如何从嵌套段(Python)中清除段列表

问题描述 投票:0回答:1

尊敬的同事们。 我有一个段列表,其中可能包含应删除的嵌套段。

例如我们有一个元组列表(或者可能是其他数据结构):

[(50, 60), (10, 20), (10, 40), (40, 60), (60, 80), (75, 95), (95, 100)]

或者范围列表:

[range(50, 60), range(10, 20), range(10, 40), range(40, 60), range(60, 80), range(75, 95), range(95, 100)]

结果应该是:

[(10, 40), (40, 60), (60, 80), (75, 95), (95, 100)]

我必须删除所有嵌套的段。

此外,我不允许使用任何图书馆,甚至

import
的。

其实,我很困惑,所以我会非常感谢任何帮助。

python list tuples range segment
1个回答
0
投票

对于每个段,您检查它是否嵌套在其他段中。如果是,则使用

remove
函数。

segments = [(10, 40), (40, 60), (60, 80), (75, 95), (95, 100)]

segments_copy = segments.copy()

for seg_1 in segments_copy:
    for seg_2 in segments_copy:
        if seg_1 != seg_2 and seg_1[0] >= seg_2[0] and seg_1[1] <= seg_2[1]:
            segments.remove(seg_1)
© www.soinside.com 2019 - 2024. All rights reserved.