python - 在python中创建一个跨特定范围集的for循环函数

标签 python python-3.x for-loop range

如何在多个不同范围内循环。例如说我想为特定的范围集运行一个 for 循环

1 到 2、4 到 6 和 10 到 13,

我不知道确切的最终数字,所以也许一个函数可能有用。

标准方法

for i in range(1,2) + range (4,6) + range (10,13)

我应该有这个

[1,4,5,6,10,11,13]

我的问题是,如果我不知道要覆盖的范围总数,我什至无法将其创建为没有这么多参数的函数。

所以如果我想拥有这样的东西

for i in range(a,b) + range (c,d) + range (e,f), ..... 

但作为一个简单的功能 有人可以提供有效的方法吗?

最佳答案

简单,但最有可能效率最低的解决方案是使用嵌套的 for 循环,

def multi_range_loop(ranges):

    all_values = []
    for rg in ranges:
        for i in range(rg[0], rg[1]):
            all_values.append(i)
    print(all_values)

my_ranges = [[1,3],[4,7],[10,14]]
multi_range_loop(my_ranges)

关于python - 在python中创建一个跨特定范围集的for循环函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67547317/

相关文章:

python - Airflow SQLCheckOperator 中的错误 - AttributeError : 'NoneType' object has no attribute 'upper'

PYTHON - 为什么多处理池使用 100% 的 CPU?

python - 使用索引列表对数组进行切片

python-3.x - 魔杖策略错误 : error/constitute. c/ReadImage/412

python - 将元组的一部分解包为元组

c++ - 需要一个函数在用完有效值后继续减少值

c++ - 将 R 代码转换为 C++ 以进行 Rcpp 实现

matlab - 如何提高 xlsread for 循环的速度?

python - 如果 "this"是答案,则返回上一行

python - 将数据导出到 Excel 时出现 Pandas 错误