python float对象不支持项目赋值

时间:2017-10-02 06:22:31

标签: python object variable-assignment

我正在运行以下代码,但是我收到错误消息' float'对象不支持项目分配。我想要的输出是将这些计算的结果附加到向量Vi

import numpy as np

MolWeight = [132, 320, 29, 45, 10]
Ci = 10 # g/L initial Concentration
Cf = 50*10**(-6) #M final Concentration
Vf = 100*10**(-6) #Litre final Volume
Vi = []
for i in range(len(MolWeight)):
    #How many moles of the compounds are there in the standard solution
    Mi = Ci/MolWeight[i] #M
    #this corresponds to the initial concentration of the standard     compound
    Ci = Mi #M/L
    #I calculate the volume to extract from the standard compound    solution, so to obtain the desired concentration 
    np.append.Vi[i] = (Cf*Vf)/Ci #L

2 个答案:

答案 0 :(得分:2)

你可以做到

Vi.append((Cf*Vf)/Ci) #L

输出:

Vi
[6.599999999999998e-08,
 2.1119999999999998e-05,
 0.0006124799999999999,
 0.027561599999999995,
 0.27561599999999997]

答案 1 :(得分:0)

这是你在找什么? 我认为问题是int division并附加

import numpy as np

MolWeight = [132.0, 320.0, 29.0, 45.0, 10.0]
Ci = 10.0 # g/L initial Concentration
Cf = 50*10**(-6) #M final Concentration
Vf = 100*10**(-6) #Litre final Volume
Vi = []
for i in range(len(MolWeight)):
    #How many moles of the compounds are there in the standard solution
    Mi = Ci/MolWeight[i] #M
    #this corresponds to the initial concentration of the standard     compound
    Ci = Mi  # M/L
    #I calculate the volume to extract from the standard compound    solution, so to obtain the desired concentration 
    # np.append.Vi[i] = (Cf * Vf) / Ci  # L
    Vi.append((Cf * Vf) / Ci )


print Vi

输出

 [6.599999999999998e-08, 2.1119999999999998e-05, 0.0006124799999999999, 0.027561599999999995, 0.27561599999999997]