Alexzive wrote:
I am just wondering if there is a quick way to improve this algorithm
[N is a structured array which hold info about the nodes n of a finite
element mesh, and n is about 300.000). I need to extract info from N
and put it in to a 3*n matrix NN which I reshape then with numpy. I
think to "append" is quite unefficient:

***********************************************************
N = odb.rootAssembly.instances['PART-1-1'].nodes

NN=[]

B=[0,0,0]
 #auxsiliar vector
for i in range(len(N)):
    B[0] = N[i].label
    B[1] = N[i].coordinates[0]
    B[2] = N[i].coordinates[1]
    NN = append(NN,B)

Usually this would be written with a list-comprehension, something like

  nn = [(x.label, x.coordinates[0], x.coordinates[1])
        for x in N]

or if you really need lists-of-lists instead of lists-of-tuples:

  nn = [[x.label, x.coordinates[0], x.coordinates[1]]
        for x in N]

-tkc


--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to