How to read aloud Python List Comprehensions?
我的问题是关于python列表的理解可读性。当我遇到具有复杂/嵌套列表理解的代码时,我发现为了理解其意图,必须多次重新阅读它们。
有没有一种直观的方式来大声朗读清单的理解?似乎我应该从中间开始"阅读",然后阅读if条件(如果有),最后阅读表达式。
下面是我如何大声朗读下面的代码行,以便理解它:
1 | [(x, y) for x in [1,2,3] for y in [3,1,4] if x != y] |
对于列表x中的每个元素和列表y中的每个元素,如果两个元素不相同,请创建元组列表。
我正在努力的两个例子:你将如何朗读下面的理解列表?
从栈溢出的另一个问题:
python文档有以下示例:江户十一〔一〕号
对于朗读清单理解的方法的任何建议或指示,使意图变得更清楚,是非常赞赏的。
我通常把它在我的脑海中展开成一个生成循环,例如
1 | [(x, y) for x in [1,2,3] for y in [3,1,4] if x != y] |
对生成器的列表理解
1 2 3 4 | for x in [1,2,3]: for y in [3,1,4]: if x != y: yield (x, y) |
号示例1
1 2 3 | for b in a: for x in b: yield x |
EDOCX1[1]的示例结果:EDOCX1[2]
示例21 2 | for i in range(4): yield [row[i] for row in matrix] |
。
它是展开的
1 2 3 4 5 6 7 | for i in range(4): l = [] for row in matrix: l.append(row[i]) yield l |
"根据y和z构造x的列表,其中q为真。"