Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python:列表理解中的嵌套展开_Python_Nested_List Comprehension - Fatal编程技术网

python:列表理解中的嵌套展开

python:列表理解中的嵌套展开,python,nested,list-comprehension,Python,Nested,List Comprehension,我试图在列表理解中实现这一点 for y in range(depth): # this one works mylist+=[x for x in s[y]] 这需要帮助: # s= [set() for _ in range(depth)] # or list of sets mylist=[x for x in s[y] for y in range(depth)] > y undefined (error - apologize for inexact error me

我试图在列表理解中实现这一点

for y in range(depth):  # this one works
    mylist+=[x for x in s[y]]
这需要帮助:

# s= [set() for _ in range(depth)] # or list of sets
mylist=[x for x in s[y] for y in range(depth)]
> y undefined (error - apologize for inexact error message)
在列表理解中有可能做到这一点吗

主要问题到此结束


更多关于错误

除了语法错误,我还得到了未定义的
名称y

因此,在列表理解之前,我尝试了
y=0
。成功了!没有更多的名称错误。除此之外,它并没有打印出列表的内容,而是一些循环的数字


即使如此,我试图做的是违反一些东西,python似乎也表现得很奇怪。可能是一个bug。

您正在查找以下内容:

mylist.extend([x for y in range(depth) for x in s[y]])

理解的层次应与循环的顺序相同。否则会导致解释器在从范围(深度)中的y的
生成
y
之前查看s[y]中的x的
,这是复制错误。用正确的冒号在我的电脑上工作。但我的主要问题仍然存在。请参阅我编辑的帖子。虽然循环在列表理解中的顺序错误,但列表理解示例不会引发
SyntaxError
异常;正如Ashwini一直试图指出的,唯一的错误是你把循环的顺序搞混了。啊,明白了。谢谢你指出这一点。我明白他现在想说的话了。我在尝试其他事情时把错误信息弄得一团糟。这可能不是那一行的“语法错误”。但这并不是因为“:”。阿什维尼,如果你能读到这篇文章的话,我为我的困惑道歉。这解决了我的缓冲错误和输出。这是一个奇怪的两天,寻找错误。非常感谢!