使用清单理解,
divisibleBySeven = [num for num in inputList if num != 0 and num % 7 == 0]
或者您可以使用
meetsCondition也,
divisibleBySeven = [num for num in inputList if meetsCondition(num)]
您实际上可以使用Python的真实语义编写相同的条件,例如
divisibleBySeven = [num for num in inputList if num and num % 7]
另外,您也可以使用
filter功能与你的
meetsCondition,像这样的
divisibleBySeven = filter(meetsCondition, inputList)
%timeit
listOfNumbers = range(1000000)%timeit [num for num in listOfNumbers if meetsCondition(num)][out]:243 ms ± 4.51 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)%timeit list(filter(meetsCondition, listOfNumbers))[out]:211 ms ± 4.19 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)



