0
上給予我收到類型錯誤:「NoneType」對象不是可迭代使用時「和()」列表
TypeError: 'NoneType' object is not iterable
,當我試圖找到一個列表的總和。
發生問題:
if(sum(self._candidates) + self._allCandidates[self._depth]._weight > 20):
self._left = Node(self._candidates, self._depth + 1, self._allCandidates)
else:
self._left = Node(self._candidates.append(self._allCandidates[self._depth]), self._depth + 1, self._allCandidates)
節點定義:
def __init__(self, candidates = [], depth = -1, allCandidates = []):
self._candidates = candidates
self._depth = depth
self._allCandidates = allCandidates
感謝在這個問題上的任何幫助。
另外,你會因爲'candidate = []'默認參數而讓自己陷入嚴重的麻煩。這是在函數定義時評估的,因此該類的所有實例將共享相同的列表(除非傳入另一個列表)。建議複製清單:'self._candidates = candidates [:]' – kindall 2012-04-25 16:56:45