我理解这个没有问题:
a = [1,2,3,4]
b = [x for x in a]
我以为就这些了,但后来我发现了这个片段:
a = [[1,2],[3,4],[5,6]]
b = [x for xs in a for x in xs]
这使得 b = [1,2,3,4,5,6]
。问题是我无法理解 [x for xs in a for x in xs]
中的语法,谁能解释一下它是如何工作的?
原文由 Alvaro Fuentes 发布,翻译遵循 CC BY-SA 4.0 许可协议
啊,难以理解的“嵌套”理解。循环以与理解中相同的顺序展开。
这样想是有帮助的。
PEP202 断言这种具有“最后一个索引变化最快”的语法是“正确的索引”,特别是没有解释 _原因_。