创建具有几何步长的列表并打印与列表元素相对应的值?

时间:2018-11-01 12:42:39

标签: python python-3.x list sequence

这是我的代码:

c = [0.1,0.01,0.001,0.0001]
for x in c:
   dydx[19]=(y[19+1]-y[19])/x
   error[19]= cos(19)-dydx[19]
   print(error[19])

我有2个问题:

  • 如何使打印功能打印出与列表的每个元素相对应的值,例如x = 0.1 error = ..?

  • 是否有更有效的方法来创建(0.1,0.01.....10^-12)列表,然后将这些x值用于循环中的方程式?

1 个答案:

答案 0 :(得分:0)

您可以使用带有range()的列表推导来为通过几何步长递增/递减的特定值范围创建列表。然后,您可以为错误创建一个字典,并将范围列表值用作字典中的键(如果要处理可能包含重复值的列表,也可以将列表索引值用作键)。

例如:

data = [10 ** x for x in range(-1, -13, -1)]

errors = {}
for x in data:
   # replace line below with your error value code
   errors[x] = f'error value for {x}'

print(errors[0.0001])
# OUTPUT
# error value for 0.0001