2013-05-16 38 views
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 

任何想法?

+5

如果您的代碼示例實際上有意義,問題會更清楚。 –

+0

@MattBall:添加代碼。 – jpcgandre

回答

2

嘗試類似:

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

它會與一些實際數據來測試代碼的簡單。

+0

增加了一些代碼。我可以添加數據但它太大了 – jpcgandre