获取一个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