Ich bin neu in der Programmierung und versuche, von der Anwendung zu lernen. Ich habe eine Funktion in Python:Liste in Liste (Verwendung des Bereichs mit für)
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)]])
Ich verstehe, dass in der obigen Funktion, die Anweisung i in range(3)
wird eine Schleife für u[0].dx(0)....u[2].dx(2)
laufen, aber ich verstehe nicht, den for i, j in [(0, 1), (0, 2), (1, 2)]])
Teil. Wie wird diese gesamte Anweisung ausgeführt? Kann jemand pls. erklären.
Ebenso habe ich:
def tangent(t):
return as_matrix([[t[i*6 + j] for j in range(6)] for i in range(6)])
Ich glaube, der Ausdruck t[i*6 + j]
6-mal für i = 0 laufen: 5 und für jeden Wert von 'i', werden wir ': 5 j = 0' haben. Daher werde ich eine 6x6 Matrix bekommen. Ist das korrekt?
bestätigen Diese http helfen könnte: //stackoverflow.com/questions/4406389/if-else-in-a-list-comprehension – ShadowMitia