我一直在尝试对一系列字典求和,但不断出现错误“objectisnotiterable”。我对python非常陌生,所以我甚至不知道我的构造函数是否正确,也许有人能帮我?你知道吗
class Solution:
def __init__(self, solution = []):
self.solution = solution
def getWeight(self):
print(sum(item["weight"] for item in solution))
solution = Solution([
{"name": "diamond", "weight": 20, "value": 1050},
{"name": "laptop", "weight": 550, "value": 320}
])
solution.getWeight()
你的问题是:
您需要在这里指定“solution”是类中的solution变量。 尝试:
如果
solution
是传递给__init__
的参数,但通过将self
实例用作self.solution
可供类中的其他方法访问,则求和不正确。虽然使用( )
的求和方法是正确的,但另一种方法是使用列表理解来收集项目,然后使用sum
。你知道吗相关问题 更多 >
编程相关推荐