从指定最小值的范围创建列表

问题描述 投票:0回答:1

我想使用

range
(或
np.arange
)创建值列表。我需要指定第一个值(必须 >0)、步进和停止。

我不能在这里使用理解列表。

现在我有了这个,但我正在寻找一种Pythonic线路解决方案:

def create_range_list(start, min_value, max_value, step):
    return [x for x in range(start, max_value + 1, step) if x >= min_value]

# Example usage
start = 3
min_value = 4
max_value = 20
step = 5

result = create_range_list(start, min_value, max_value, step)
print(result)  # Output: [8, 13, 18]
python
1个回答
0
投票

start < min_value
时,您需要将其增加
step
足够的次数才能成为
>= min_value
。这可以通过
while
循环来完成,但您也可以使用模数来计算。

def create_range_list(start, min_value, max_value, step):
    if start < min_value:
        start = min_value + (start - min_value) % step
    return list(range(start, max_value, step))
© www.soinside.com 2019 - 2024. All rights reserved.