相关疑难解决方法(0)

Python for-in循环前面有一个变量

foo = [x for x in bar if x.occupants > 1]
Run Code Online (Sandbox Code Playgroud)

谷歌搜索和搜索后,无法弄清楚这是做什么的.也许我没有找到合适的东西但是在这里.非常感谢任何改写这种速记的输入.

python for-loop for-in-loop

70
推荐指数
2
解决办法
8万
查看次数

高级嵌套列表理解语法

我正在玩列表推导以更好地理解它们,我遇到了一些我无法解释的意外输出.我之前没有找到这个问题,但如果是/是/重复的问题,我道歉.

我本质上是在尝试编写一个生成生成器的生成器.使用列表推导的简单生成器如下所示:

(x for x in range(10) if x%2==0) # generates all even integers in range(10)
Run Code Online (Sandbox Code Playgroud)

我试图做的是编写一个生成两个生成器的生成器 - 第一个生成范围(10)中的偶数,第二个生成范围(10)中的奇数.为此,我做了:

>>> (x for x in range(10) if x%2==i for i in range(2))
<generator object <genexpr> at 0x7f6b90948f00>

>>> for i in g.next(): print i
... 
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 1, in <genexpr>
UnboundLocalError: local variable 'i' referenced before assignment
>>> g.next()
Traceback (most recent call last):
  File "<stdin>", line 1, in …
Run Code Online (Sandbox Code Playgroud)

python syntax scope list-comprehension

42
推荐指数
4
解决办法
5万
查看次数