Python:范围函数的步长各不相同



以下代码输出我想要的内容,但我想知道如何使其优雅,即单一:我如何优雅/简单地产生不同步骤的矢量(目的是捆绑数组(?

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

谢谢您的帮助!

列出范围选项的列表,然后在它们上迭代?

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用户,所以我不知道是否有一种更有效地执行此操作的方法(。

最新更新