2016-10-31 82 views
-4

我該如何解決這個問題?TypeError:'float'對象沒有屬性'__getitem __',python

Traceback (most recent call last): 
File "l3.py", line 45, in <module> 
z = solve_minmax(n, a, B, x_min=-1000, x_max=1000) 
File "l3.py", line 33, in solve_minmax 
    dot_B_x = pulp.lpSum([B[i][j] * x[j] for j in range(n)]) 
TypeError: 'float' object has no attribute '__getitem__' 
+1

可能要在這裏發佈的代碼? – TuanDT

+0

你應該顯示一些代碼 –

回答

3

pulp.lpSum([B[i][j] * x[j] for j in range(n)])

TypeError: 'float' object has no attribute '__getitem__'

這意味着,要麼BB[i]x是浮動的,你不能使用這些[]

6

__getitem__是一個特殊的python函數,它相當於運算符[]或索引或「get item」運算符。

所以,錯誤基本上是說有一個變量是一個浮點數。對於這個變量,你可以稱爲__getitem__函數 - 可能通過對其執行索引操作符。

基於這表明作爲罪魁禍首行dot_B_x = pulp.lpSum([B[i][j] * x[j] for j in range(n)])回溯,似乎無論是B,B [I],或X將是可能的問題

相關問題