我正在尝试从一组范围中删除重叠的值。
这些范围由以下字符串表示:
目前我的代码如下。
我将数组按照
这些范围由以下字符串表示:
499-505 100-115 80-119 113-140 500-550
我希望将其缩减为两个范围: 80-140 499-550
,以覆盖所有值而不重叠。目前我的代码如下。
cr = "100-115 115-119 113-125 80-114 180-185 500-550 109-120 95-114 200-250".split(" ")
ar = []
br = []
for i in cr:
(left,right) = i.split("-")
ar.append(left);
br.append(right);
inc = 0
for f in br:
i = int(f)
vac = []
jnc = 0
for g in ar:
j = int(g)
if(i >= j):
vac.append(j)
del br[jnc]
jnc += jnc
print vac
inc += inc
我将数组按照
-
分割,并将范围限制存储在ar
和br
中。我成对迭代这些限制,如果i
至少与j
一样大,我想删除该元素。但程序不能正常运行。我希望它能产生以下结果:80-125 500-550 200-250 180-185
jnc
(0) 加上本身。请改为使用jnc += 1
,以及对于inc
也做同样的修改。 - cwahls