您可以使函数采用可调用参数,该参数将在列表理解的条件部分中使用。然后,您可以使用lambda或其他函数对象传递您的任意条件:
def indices(a, func): return [i for (i, val) in enumerate(a) if func(val)]a = [1, 2, 3, 1, 2, 3, 1, 2, 3]inds = indices(a, lambda x: x > 2)>>> inds[2, 5, 8]
它与您的Matlab示例更加接近,而无需加载所有numpy。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)