2012-09-07 69 views
-1

目前我在我的循環中有一個新的列表,大部分需要創建一個新列表,其中包含數據中原始列表x的幾乎所有元素。但是,我正在制定一個條件,只有當條件滿足x [5]時,纔會增加xnew的特定索引。是否有一個更清潔的方式做到以下幾點?:Python中的條件列表

for x in data: 
    xnew = [x[1],x[2],x[3],x[4],0,0,0] 
    if(x[5]==2): 
    xnew[4] = x[8] 
    elif(x[5]==9): 
    xnew[5] = x[8] 
    else: 
    xnew[6] = x[8] 

回答

8
xmap = {2: 4, 9: 5} 

... 

xnew[xmap.get(x[5], 6)] = x[8] 
+0

'對於x數據: xnew = X [5] + [0] * 3' –

+0

獎勵!十分優雅 – inspectorG4dget