相关疑难解决方法(0)

python list comprehension double for

vec = [[1,2,3], [4,5,6], [7,8,9]]
print [num for elem in vec for num in elem]      <----- this

>>> [1, 2, 3, 4, 5, 6, 7, 8, 9]
Run Code Online (Sandbox Code Playgroud)

这是骗我的.
我的理解是ELEM名单从内部列表for elem in vic
我不太明白的用法num,并for num in elem在开始和结束.

python如何解释这个?
它看起来的顺序是什么?

python list-comprehension

54
推荐指数
4
解决办法
3万
查看次数

嵌套列表推导

我尝试在内部列表中使用外部列表理解的值:

[ x for x in range(y) for y in range(3) ]
Run Code Online (Sandbox Code Playgroud)

但不幸的是,这引发了一个NameError,因为名称y是未知的(尽管外部列表理解指定了它).

这是Python的限制(尝试过2.7.3和3.2.3)还是有充分的理由说明为什么这不起作用?

有计划摆脱限制吗?

是否有解决方法(一些不同的语法,我可能没想到)来实现我想要的?

python syntax list-comprehension list

4
推荐指数
1
解决办法
1324
查看次数

标签 统计

list-comprehension ×2

python ×2

list ×1

syntax ×1