我试图迭代两个列表来填充结果的新列表,但我不确定它出错的地方.注意:我是初学者使用Python.Mahalo提前!
sumList = [27400.0, 32900.0, 42200.0, 40600.0];
volList = [27000.0, 40000.0, 31000.0, 40000.0];
rendeList = [];
x = 0;
for sumValue in range (0, len(sumList)-1):
rendeList = rendeList.append((sumList[x]/volList[x])*100)
x += 1;
Run Code Online (Sandbox Code Playgroud)
但是,我得到一个属性错误:'NoneType'对象没有属性'append'.运行for循环后,我得到:
print rendeList
None
Run Code Online (Sandbox Code Playgroud)
我的预期结果将是:
print rendeList
[101.48, 82.25, 136.13, 101.49]
Run Code Online (Sandbox Code Playgroud)
list.append(x)修改列表并返回None.将您的代码更改为:
for sumValue in range (0, len(sumList)):
rendeList.append((sumList[x]/volList[x])*100)
x += 1
Run Code Online (Sandbox Code Playgroud)
或简化为:
for sumValue, volValue in zip(sumList, volList):
rendeList.append((sumValue / volValue) * 100)
Run Code Online (Sandbox Code Playgroud)
这是您使用列表理解的解决方案:
result = [a[0]/a[1]*100 for a in zip(sumList, volList)]
Run Code Online (Sandbox Code Playgroud)