-4

Python 2.7 を Simulia Abaqus (6.14) と組み合わせて使用​​しています。次の形式で 3 次元座標のリストを定義しました。

selection_points = [(( 1, 2, 3), ), (( 4, 5, 6), ), ((7, 8, 9), )]

モデルの入力として selection_points のすべての座標を使用する必要があります。各座標点が個別に必要なので、すべてをリストにする必要はありません。たとえば、入力として 3 つの座標を受け取る Abaqus 関数 (Abaqus_function) の場合、次のようにすることができます。

Abaqus_function(selection_points[0], selection_points[1], selection_points[2])

効果的には次のようになります。

Abaqus_function(((1, 2, 3), ), ((4, 5, 6), ), ((7, 8, 9), ))

selection_points に 20 個または 100 個の座標点が含まれている場合はどうなるでしょうか。書かずにそれらのすべてを呼び出すにはどうすればよいですか:

Abaqus_function(selection_points[0], selection_points[1], selection_points[2], 
                selection_points[3], ... selection_points[99])

Selection_points[1 : -1]別のリストは必要ありません。したがって、これもstr(selection_points)[1: -1]オプションではありません。

4

1 に答える 1

1

あなたがしようとしているのは、リストの要素をパラメーターにアンパックすることです。これは次のように行うことができます。

Albaqus_Function(*coord_list[0:n])

ここで、n は最後のインデックス + 1 です。

*args 表記は次のように使用されます。

arguments = ["arg1", "arg1", "arg3"]
print(*arguments)

これは次と同等です。

print("arg1", "arg2", "arg3")

これは、必要な引数の数が正確にわからない場合に役立ちます。

于 2016-02-21T14:47:32.780 に答える