我将Python 2.7与Simulia Abaqus(6.14)结合使用。 我已经按以下格式定义了三维坐标列表:
selection_points = [(( 1, 2, 3), ), (( 4, 5, 6), ), ((7, 8, 9), )]
我需要使用selection_points中的ALL坐标作为我的模型的输入。我需要单独的每个坐标点,所以不是所有的坐标点都是列表。例如,对于以三个坐标作为输入的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]
也不是一种选择。
答案 0 :(得分:1)
您要做的是将列表元素解压缩到参数中。这可以这样做:
Albaqus_Function(*coord_list[0:n])
其中n是最后一个索引+ 1。
* args表示法用作以下内容:
arguments = ["arg1", "arg1", "arg3"]
print(*arguments)
这相当于:
print("arg1", "arg2", "arg3")
如果您不确切知道需要多少个参数,这很有用。