我想在python中处理数字的不连续范围,并检查一个范围是否是另一个范围的子集,或者查找两个范围之间的交集。
如果我用集合表示它:
range_1 = {1, 2, 3, 4, 10, 11, 21, 22, 23, 24}
range_2 = {2, 3, 4, 11}
range_3 = {11, 12, 13}
print(range_2.issubset(range_1)) # True
print(range_1 & range_3) # {11}
上面的方法适用于少量数字,但是我想处理数百万个整数。如果我扩展范围并存储它们,集会占用大量内存,而即时扩展它们会花费很多时间。
还有比集合更好的方法吗?