獲取一個IndexError的:列出的範圍內,當我運行:Python列表索引超出範圍isinstance()
duplicates([0, 1, 2, 3, 4, 5])
當我在shell中運行:
list = [0, 1, 2, 3, 4, 5]
list = ['blah', 1, 2, 3]
if (isinstance(list[0], str)):
list.append(list[0])
list.pop(0)
,一切工作正常。
def duplicates(array):
list = []
for i in array:
if (array.count(i) > 1):
if (list.count(i) < 1):
list.append(i)
else: pass
# has nothing to do with problem statement. Test cases are requiring a specific output format that isn't highlighted in original problem.
list.sort()
list.reverse()
if (isinstance(list[0], str)):
list.append(list[0])
list.pop(0)
return list
但是,當我將它作爲標準函數運行時,它會運行此錯誤。我不明白爲什麼isinstance()
在這裏運行的索引超出範圍。
是完整的程序? ?你在哪裏調用函數?你能寫出你如何使用這個函數嗎? – Ja8zyjits
不是引發異常的'isinstance()'。它是'list [0]'表達式,因爲'list'是*空*。 –
全功能。我只是通過測試用例傳遞數組的函數。問題是codewars.com中的一個入門級問題,叫做'find duplicates' – Johnathan