我是新来编程,并试图从申请到学习。我有Python中的函数:名单列表(与范围的用法)
def eps(u):
return as_vector([u[i].dx(i) for i in range(3)] + [u[i].dx(j) + u[j].dx(i) for i, j in [(0, 1), (0, 2), (1, 2)]])
据我所知,在上面的函数,语句i in range(3)
是要运行u[0].dx(0)....u[2].dx(2)
一个循环,但我不明白的for i, j in [(0, 1), (0, 2), (1, 2)]])
部分。这整个陈述将如何执行?有人可以请。说明。
同样我有:
def tangent(t):
return as_matrix([[t[i*6 + j] for j in range(6)] for i in range(6)])
相信表达t[i*6 + j]
将运行6倍,对于i = 0:5和用于 'i' 的每个值,我们将有 'J = 0:5'。因此,我会得到一个6x6矩阵。那是对的吗?
这可以帮助HTTP: //stackoverflow.com/questions/4406389/if-else-in-a-list-comprehension – ShadowMitia