Python 如何以个人方式评估列表中的数字?
例如,我有一个数字列表:Python 如何以个人方式评估列表中的数字?,python,list,math,logging,Python,List,Math,Logging,例如,我有一个数字列表: du = 0.001 u = [0] for i in range(1, 500): u.append(round(u[i - 1] + du, 3)) n_strain = [0] for i in range(1, 3): n_strain.append((400 / 0.002) * u[i]) for i in range(4, 500): n_strain.append(400) 我想定义另一个函数X,作为n\u应变列表中值的ln 为
du = 0.001
u = [0]
for i in range(1, 500):
u.append(round(u[i - 1] + du, 3))
n_strain = [0]
for i in range(1, 3):
n_strain.append((400 / 0.002) * u[i])
for i in range(4, 500):
n_strain.append(400)
我想定义另一个函数X,作为n\u应变列表中值的ln
为此,我做了math.log(),但它只计算单个值
X=[n_应变中j的数学日志(j)[i]范围(500)中i的数学日志(j)]
不行,我试过了。这可以应用于其他示例,但我不知道如何操作。您刚刚犯了一个小错误。这里有两种方法,你可以使用
X = []
for st in n_strain:
val = math.log(st)
X.append(val)
或者如果你想通过列表理解
X = [math.log(st) for st in n_strain]
我终于知道怎么做了。首先,我在数学上过于复杂了,就是一个列表,所以显然用numpy做它更好,在有了一个简单的列表之后,我所要做的就是使用np.log,就这样。这就是代码:
du = 0.001
u = [0]
for i in range(1, 501):
u.append(round(u[i - 1] + du, 3))
n_strain = [0]
for i in range(1, 3):
n_strain.append((400 / 0.002) * u[i])
for i in range(3, 501):
n_strain.append(400)
X = np.array(n_strain)
z = [1]
for i in range(1, 501):
z.append(1)
Z = np.array(z)
Y = Z + X
t_strain = np.log10(Y)
嗯,我现在两个都试过了,但是它给了我“ValueError:math domain error”错误