奇怪的蟒蛇“嵌套” for循环

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了奇怪的蟒蛇“嵌套” for循环相关的知识,希望对你有一定的参考价值。

我遇到了在另一个人的项目环以下,以前我从来没有见过的语法是这样的。这有点像嵌套for循环的突变,但不完全是。无论如何,我应该怎么解释这行代码?或者,我可以怎样展开这个循环?

for a in [np.transpose(np.array([list(B['v'][x]) + [0,1] for x in (face[0], face[1], face[2])]))  for face in B['shape']]:
    facets.extend([np.do(r) * scale for x in inflate(a)])
答案

所述np.array表达的内容是:

[list(B['v'][x]) + [0,1] for x in (face[0], face[1], face[2])]

参照如上*,正被遍历的外列表中的内容是:

[np.transpose(np.array(*)) for face in B['shape']]

每个列表理解转换为一个for循环:

for face in B['shape']:
    y = [] # temporary variable
    for x in (face[0], face[1], face[2]):
        y.append(list(B['v'][x]) + [0, 1])

    # outer loop variable
    a = np.transpose(np.array(y)) 

    z = [] # temporary variable
    for x in inflate(a):
        z.append(np.do(r) * scale)
    facets.extend(z)

以上是关于奇怪的蟒蛇“嵌套” for循环的主要内容,如果未能解决你的问题,请参考以下文章

问题记载——keil中写for循环嵌套

为什么'I'在不同的函数中更改嵌套循环?

shell 编程 里面 if 嵌套 for 语句的匪夷所思的 事情!!

for 循环与嵌套

包含在.append中的编码?蟒蛇

为啥我的代码在执行时的初始嵌套 for 循环中进入无限循环?