-1
爲什麼此代碼的工作拋錯誤「if list[(userlstlen-1)] < list[(userlstlen-2)]: TypeError: 'type' object is not subscriptable
」類型錯誤:「類型」對象未在列表索引標化
我不是索引或致電這裏任何類型/對象。
def find_linear_quadratic(userlst, userlstlen):
while userlstlen != 0:
print("iteration: \n", userlstlen)
# Start body here
if list[(userlstlen-1)] < list[(userlstlen-2)]:
A = list[(userlstlen-1)]
list[(userlstlen-1)] = list[(userlstlen-2)]
list[(userlstlen-1)] = A
userlstlen -= 1
return userlst
def main():
list = [3,2,1]
lstlen = list.__len__()
find_linear_quadratic(list, lstlen)
main()
_「我沒有索引或調用任何類型/對象。」_你是什麼意思?您在對象上使用方括號,例如索引,並且你正在使用'list',這是一種類型。 – Kevin
您的列表可能被命名爲'list' * outside *函數(這是一個糟糕的主意,因爲您正在隱藏內置類型),但* inside *函數需要參數名稱'userlst'。你也不應該直接調用'__magic_methods__' - 'thing .__ len __()'應該是'len(thing)'。 – jonrsharpe
在'main()'中,你重新定義了內建的'list'類型是一個(局部)變量,所以在這裏使用它。但是'find_linear_quadratic()'不是這種情況。 – martineau