對於我正在處理的項目,我必須在數字列表中找到錯誤。元素出現在具有不同值的元素後面時出錯。如何在數字列表中找到「錯誤」
# Errors are indicated by a^
l1 = [0,0,0,0,2,1,1,1,0,1,1,1,1,0,0,0]
^
l2 = [2,2,1,1,1,0,0,0,0,1,0,0,3,3,2,3]
^ ^
注意在l1
因爲我們假設該列表就像一個圓,最後零點不是錯誤,但他們旁邊的第一個零。
我試圖實現一個遞歸函數來做到這一點,但它似乎並沒有工作。
def Checkinter(testlist1):
testlist = list(testlist1)
print(len(testlist))
if len(testlist) > 2:
if testlist[0] not in boundaries:
boundaries.append(testlist[0])
if testlist[0] != boundaries[-1]:
print('error')
if len(testlist) == 3 and (testlist[0] == testlist[1] == testlist[2]):
return None
if testlist[0] == testlist[-1] and len(testlist) > 3:
del testlist[-1]
Checkinter(testlist)
if testlist[0] != testlist[-1]:
del testlist[0]
print(testlist)
Checkinter(testlist)
你知道一個有效的方法嗎?謝謝。
據我所知,「一個元素出現在具有不同值的元素後面的錯誤」意味着前2個,前1個和第4個1也是錯誤。是這樣嗎? – bgse
您能否提供更多示例並指定哪個元素是錯誤的? – stamaimer
不,因爲我忘了提及一旦我們檢測到零的「badaries」,我們刪除它們並再次執行操作 – PythonItsLife