Python理解中是否需要局部变量?

Tre*_*reg 2 python warnings list-comprehension

在Python 3.x中,我调用的函数rand_foo()在每次调用时返回一些随机的东西.我希望将随机结果序列存储到列表中.我正在使用以下构造:

r = [ rand_foo() for i in range(10) ]
Run Code Online (Sandbox Code Playgroud)

现在我的PyCharm 3.0 IDE会发出警告:Local variable 'i' value is not used.

是否有一种优雅的方法来删除不必要的变量?实际上,在某些情况下,我可以使用itertools.repeat()或类似的东西10*[value],然而,这不能应用于我上面的例子.

mhl*_*ter 10

变量未使用时的约定是使用下划线:

r = [rand_foo() for _ in range(10)]
Run Code Online (Sandbox Code Playgroud)

例如,参见:Underscore _作为Python中的变量名

我相信这会压制你的PyCharm警告

  • +1,但有一个警告:有一些库,最值得注意的是stdlib中的[`gettext`](http://docs.python.org/3/library/gettext.html)i18n模块,它提供了一个特殊的对于`_`的意思,如果你使用其中之一,你的linter(或一个人类读者)可能会抱怨你正在用同名的本地镜像全局`_` ...(当然,如果你的话表达式实际上是试图_use_`gettext`,你不能这样做.) (2认同)