我制作了一个函数,该函数返回给定项目的索引列表,而不仅仅是第一个。但是,当找不到该项目时,它不会抛出ValueError exception
,而是返回一个空列表。
我在做什么错?当我在解释器中执行此操作时,它会引发应有的异常。
def find_items(array, item):
''' searches a list or tuple and returns
a list of indices for a given item '''
indices = []
position = 0
for _ in range(array.count(item)):
indices.append(array.index(item, position))
position = indices[-1] + 1
return indices
numbers = [42, 1, 2, 3, 42, 42, 42, 5, 6, 7, 8, 9, 42]
found_indices = find_items(numbers, 1000)`
答案 0 :(得分:1)
array.count(item)
返回项目出现在列表中的次数。
例如:array.count(42)
将为您的输入返回 5
在您的情况下1000次出现0次,因此您的代码变为:
for _ in range(0):
简而言之,您的for循环不会运行,因此它会在初始化时返回空列表。