在更新浮点值 "list" 时需要解决方法将浮点值视为元组
Need workaround to treat float values as tuples when updating "list" of float values
我发现 for 循环的最后一行有错误,我试图将曲线值更新为包含曲线值迭代的列表。我收到 "can only concatenate tuple (not "float) to tuple" 和 "tuple object has no attribute 'append'" 之类的错误。有人知道这样做的方法吗?谢谢...
import matplotlib.pyplot as plt
thetaR = 0.078
thetaS = 0.43
alpha = 0.0036
psiRange = (range(0,1000))
#psi = 1
#psi = (0,1000)
n = 1.56
curveList = ()
for psi in psiRange:
curve = (thetaR) + ((thetaS - thetaR)/((1 + (alpha*psi**n))**(1-1/n)))
#curveList.append(curve)
curveList += curve
plt.plot(curveList)
plt.axis(0,1,0,100)
plt.show()
您根本无法附加到 tuple
(tuple
是 不可变的 ),并且无法扩展到 list
+
需要另一个列表。
通过以下声明使 curveList
成为 list
:
curveList = []
并使用:
curveList.append(curve)
在其末尾添加一个元素。或者(不太好,因为创建了中间 list
对象):
curveList += [curve]
我发现 for 循环的最后一行有错误,我试图将曲线值更新为包含曲线值迭代的列表。我收到 "can only concatenate tuple (not "float) to tuple" 和 "tuple object has no attribute 'append'" 之类的错误。有人知道这样做的方法吗?谢谢...
import matplotlib.pyplot as plt
thetaR = 0.078
thetaS = 0.43
alpha = 0.0036
psiRange = (range(0,1000))
#psi = 1
#psi = (0,1000)
n = 1.56
curveList = ()
for psi in psiRange:
curve = (thetaR) + ((thetaS - thetaR)/((1 + (alpha*psi**n))**(1-1/n)))
#curveList.append(curve)
curveList += curve
plt.plot(curveList)
plt.axis(0,1,0,100)
plt.show()
您根本无法附加到 tuple
(tuple
是 不可变的 ),并且无法扩展到 list
+
需要另一个列表。
通过以下声明使 curveList
成为 list
:
curveList = []
并使用:
curveList.append(curve)
在其末尾添加一个元素。或者(不太好,因为创建了中间 list
对象):
curveList += [curve]