0

我有许多 ( nsteps) 组结果 ( data)。每个data都有四个结果子组 ( len(nodeSets)),每个子组一个nodelabel

我想将每个结果的子组加入同一行nodelabel。我的代码是这样的:

    for i in range(0,len(odb.rootAssembly.instances[myInstanceName].nodeSets['LOAD'].nodes)):
        for stepi in range(0, nsteps):
            stepName = odb.steps.values()[stepi].name 
            nodelabel = odb.rootAssembly.instances[myInstanceName].nodeSets['LOAD'].nodes[i].label
            hR='Node ' + myInstanceName + '.' +str(nodelabel)
            dCF3.append([odb.steps[stepName].historyRegions[hR].historyOutputs['CF3'].data])

我的问题是我得到:

dCF3[0]=[[data in step1 for nodelabel 1]]
dCF3[1]=[[data in step2 for nodelabel 1]]
...
dCF3[n]=[[data in step1 for nodelabel 4]]
dCF3[n+1]=[[data in step2 for nodelabel 4]]

而且我要:

dCF3[0]=[data in each stepi for nodelabel 1] #only one list
....
dCF3[3]=[data in each stepi for nodelabel 4] #only one list

有任何想法吗?

4

1 回答 1

2

尝试类似:

for nodelabel in nodes:
    dCF3.append([data.stepi.nodelabel for stepi in range(0, nsteps)])

使用一些实际数据来测试代码会更容易。

于 2013-05-16T12:37:09.373 回答