2016-10-04 19 views
-2

如何在python中獲取列表的列表並將劃分應用於每個子列表的第三個元素。列表的Python列表,用於將所有子列表上的元素位置除以數字

子列表看起來像這樣

[1.3735876284e-05, 0.9277849431216683, 34.02875434027778, 0.0] 
[2.60440773e-06, 7.35174234e-01, 2.79259180e+02, 0.00000000e+00] 
... 

我需要得到相同的子列表,但每個子列表的第三個元素(34.02 ... ... 2.79),以100

+2

'爲子列表中列出:子表[2]/= 100' –

+0

'[[E/100如果對於I I == 2別的E,E在枚舉(子)]中爲some_list]中的子 –

回答

1

你可以試試這個:

a = [ 
    [1.3735876284e-05, 0.9277849431216683, 34.02875434027778, 0.0], 
    [2.60440773e-06, 7.35174234e-01, 2.79259180e+02, 0.00000000e+00], 
] 
b = [ 
    [(x/100.0 if i == 2 else x) for (i, x) in enumerate(lst)] 
     for lst in a 
] 

或者拉姆達版本:

f = lambda a: [ 
    [(x/100.0 if i == 2 else x) for (i, x) in enumerate(lst)] 
     for lst in a 
] 
b = f(a) 
1

分使用列表理解來提取子列表,並使用除串聯零部件清單...

lambda L: [l[:2]+[l[2]/100]+l[3:] for l in L]

相關問題