以这种方式验证args是否有不利之处:
if x in [1,2,3]:
...
还是采用更传统的方式更好:
if x == 1 or x == 2 or x == 3:
...
答案 0 :(得分:1)
我唯一能看到的缺点就是性能。
在我的机器上,通过ipython,Windows 8.1,python 3.7.3,我得到:
x = 4
%timeit x in [1,2,3]
183 ns ± 19 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)
%timeit x == 1 or x == 2 or x == 3
295 ns ± 19.7 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
所以看起来既干净又快捷。
仅供参考,我得到了:
%timeit x in {1,2,3}
116 ns ± 7 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)