我有几个需要调用一些时间的采样函数,如下面的指令所示:
samples = [do_sampling() for _unused in range(n_samples)]
我想知道,是否有更简洁的表达方式,特别是通过避免_unused
变量?
答案 0 :(得分:2)
如果你的目标是根据do_sampling()
返回值构建一个列表,那么就没有更紧凑的语法了。
Python惯例是将_
用于我忽略此变量:
samples = [do_sampling() for _ in range(n_samples)]
答案 1 :(得分:2)
我知道并没有更好的方法来做到这一点。惯例是这样做:
samples = [do_sampling() for _ in range(n_samples)]
如果您使用的是Python 2.x而不是Python 3.x,则可以使用生成器版本的范围xrange()
而不是range()
来提高性能:
samples = [do_sampling() for _ in xrange(n_samples)]
_
变量通常用作废弃的未使用变量的Pythonic表示法。