您正在使用
.index()它将仅在列表中找到您的值的 第一个
匹配项。因此,如果在索引2和索引9处的值为1.0,则无论列表中发生了多少次,
.index(1.0)都将 始终 返回。
2``1.0
使用
enumerate()到索引添加到您的循环,而不是:
def find(lst, a, b): result = [] for i, x in enumerate(lst): if x<a or x>b: result.append(i) return result
您可以将其折叠为列表理解:
def find(lst, a, b): return [i for i, x in enumerate(lst) if x<a or x>b]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)