我有一個快速的問題,這行代碼Python的__getitem__錯誤
row[time] == numbers[num_time]:
是給我的錯誤:
int has no attribute __getitem__
經過一番研究,我發現,當您嘗試出現此錯誤在int上調用列表號碼。在這種情況下,我發送了一個3個數字的列表,並想要在第二個數字列表中遞歸(我們不允許使用循環,但:(),看看第二個列表中的任何元素是否在第一個列表中。名單如果是,會做某件事,但如果他們arent,功能應該移動到行列表中的下一個,做同樣的事情,直到行空
def row_find(row,numbers,time,num_time):
if numbers==[]:
return row_find(row[time+1],numbers,time+1,num_time=0)
if row== []:
return row
else:
if row[time]== numbers[num_time]:
num_time=0
return row,row_find(row[time+1],numbers,time+1,num_time)
else:
return row,row_find(row[time],numbers[num_time+1],time,num_time)
lst=[5,2,9]
num_lst=[5, 10, 23, 31, 44]
row_find(lst,num_lst,0,0)
有時,'row_find'返回一個元組,有時候會返回一個列表('row')。你確定這是你想要做的嗎? –