假设我们有一个列表ranges,其中包含多个范围。现在我们想要从某个范围之外得到所有的数字。 我们可以使用Python中的set和range函数来实现此目的。
具体步骤如下:
将范围列表中的每个范围转换为一个集合set。
将所有集合合并为一个大集合。
使用Python中的range函数创建包含从最小值到最大值的数字的集合。
将生成的集合与大集合进行差集运算,我们将得到不在任何范围内的数字。
下面是具体的Python代码实现:
ranges = [(1,5), (10,15), (20,25)] # 范围列表
full_set = set().union(*(set(range(start, end+1)) for start, end in ranges)) # 大集合
not_in_range = set(range(min(full_set), max(full_set)+1)).difference(full_set) # 差集运算
print(not_in_range) # 输出不在任何范围内的数字
输出结果:
{6, 7, 8, 9, 16, 17, 18, 19, 26, 27}
该方法可以轻松地处理多个范围,同时支持任何数字类型,如整数、浮点数等。
上一篇:遍历范围并插入行
下一篇:遍历范围并更新工作表引用