创建一个从 Python 中的常数向上和向下递增的列表
Create a list with increments up and down from a constant in Python
假设我有一个常数值:1.0
我想创建一个列表,由上面的四个数字和下面的四个数字组成,间隔一致,包括中间的常量。比方说以 0.1 为间隔。例如
constantValue = 1.0
做一些 pythonic 魔术...
outputList = [0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.4]
执行此操作的有效方法是什么?
是这样的吗?
>>> constantValue = 1.0
>>> interval = 0.1
>>> delta = 4
>>> [constantValue + (i*interval) for i in range(-delta, delta+1)]
[0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.4]
Numpy 版本
import numpy as np
constant_value = 1
STEP = 0.1
numbers = 4
np.arange(constant_value-numbers*STEP, numbers*STEP + constant_value+STEP, STEP)
array([0.6, 0.7, 0.8, 0.9, 1. , 1.1, 1.2, 1.3, 1.4])
import numpy as np
interval = 0.1
np.linspace(constantValue-interval*4,constantValue+interval*4,9)
假设我有一个常数值:1.0
我想创建一个列表,由上面的四个数字和下面的四个数字组成,间隔一致,包括中间的常量。比方说以 0.1 为间隔。例如
constantValue = 1.0
做一些 pythonic 魔术...
outputList = [0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.4]
执行此操作的有效方法是什么?
是这样的吗?
>>> constantValue = 1.0
>>> interval = 0.1
>>> delta = 4
>>> [constantValue + (i*interval) for i in range(-delta, delta+1)]
[0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.4]
Numpy 版本
import numpy as np
constant_value = 1
STEP = 0.1
numbers = 4
np.arange(constant_value-numbers*STEP, numbers*STEP + constant_value+STEP, STEP)
array([0.6, 0.7, 0.8, 0.9, 1. , 1.1, 1.2, 1.3, 1.4])
import numpy as np
interval = 0.1
np.linspace(constantValue-interval*4,constantValue+interval*4,9)