Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Python:范围函数中的不同步长_Python 3.x_Range - Fatal编程技术网

Python 3.x Python:范围函数中的不同步长

Python 3.x Python:范围函数中的不同步长,python-3.x,range,Python 3.x,Range,下面的代码输出了我想要的内容,但我想知道如何使其变得优雅,即在单个代码中:我如何优雅/简单地生成不同步长的向量(用于组合数组) 谢谢你的帮助 列出范围选项,然后迭代它们 bins = [] for r in (range(0,100,5), range(100,200,10), range(200,500,50), range(500,2500,500)): bins = numpy.append(bins, [b for b in r]) 或者通过以下方式更整洁: bins = []

下面的代码输出了我想要的内容,但我想知道如何使其变得优雅,即在单个代码中:我如何优雅/简单地生成不同步长的向量(用于组合数组)


谢谢你的帮助

列出范围选项,然后迭代它们

bins = []
for r in (range(0,100,5), range(100,200,10), range(200,500,50), range(500,2500,500)):
    bins = numpy.append(bins, [b for b in r])
或者通过以下方式更整洁:

bins = []
for start, end, step in ((0,100,5), (100,200,10),(200,500,50), (500,2500,500)):
    bins = numpy.append(bins, [b for b in range(start, end,step)])

(注意-这是一个通用的答案-我不是
numpy
用户,所以我不知道是否有一种特定于numpy的方法可以更有效地做到这一点)。

谢谢@match!非常感谢。这当然会整理我的原始代码。由于之前在MATLAB中编写过代码,我总是尝试删除所有for循环。虽然这里不需要,但我认为这对我来说是一个很好的学习榜样。如果可以删除所有for循环,我将非常感兴趣!我只是在一个包含range参数的元组上迭代,然后调用range一次(之前很忙,所以没有这么做),从而进一步简化了这个过程。我想这样会更整洁一点。漂亮!非常感谢@match
bins = []
for start, end, step in ((0,100,5), (100,200,10),(200,500,50), (500,2500,500)):
    bins = numpy.append(bins, [b for b in range(start, end,step)])