Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def missing(numranges):
- (minimum, maximum) = (min(map(lambda x: x[0], numranges)),
- max(map(lambda x: x[1], numranges)))
- (count, i) = (0, minimum)
- while i < maximum:
- if any(j <= i <= k for j, k in numranges):
- count += 1
- i += 1
- return maximum - minimum - count
- def missing(numranges):
- number_of_missing = 0
- for i, range in enumerate(numranges):
- if i == len(numranges)-1:
- break
- if numranges[i+1][0] != numranges[i][1]+1:
- number_of_missing += numranges[i+1][0] - numranges[i][1] - 1
- return number_of_missing
- test = set(range(1, 100 + 1) + range(102, 200 + 1))
- missing = list(set(range(min(test), max(test))) - test)
- print (missing)
- In [22]: input_list = [range(1,100),range(102, 200)]
- In [23]: total_list = sum(input_list,[])
- In [24]: master_total_list = range(min(total_list),max(total_list)+1)
- In [25]: [i for i in master_total_list if i not in total_list]
- Out[25]: [100, 101]
- >>> l = [[1, 50] ,[55, 90], [95, 100]]
- >>> sum([l[i+1][0]-m[1]-1 for i, m in enumerate(l[:-1])])
- 8
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement