私はプログラミングをしておらず、アプリケーションから学びたいと思っています。私はpythonで機能を持っている:リストのリスト(forを使用した範囲の使用)
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)]])
部分を理解していないことを理解しています。この文全体がどのように実行されますか?誰かがplsすることができますか?説明してください。
同様に私が持っている:5と 'I' の各値のために、私たちは 'J = 0:5' を持つことになります:私は表現t[i*6 + j]
は、I = 0のために6回実行されます
def tangent(t):
return as_matrix([[t[i*6 + j] for j in range(6)] for i in range(6)])
と信じています。したがって、私は6x6の行列を得るでしょう。あれは正しいですか?コードの特定の部分が何を決定する
を確認するために印刷することができます: //stackoverflow.com/questions/4406389/if-else-in-a-list-comprehension – ShadowMitia