Python列表,用于将所有子列表上的元素位置除以数字

时间:2016-10-04 19:35:53

标签: python list

如何在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 个答案:

答案 0 :(得分:1)

使用列表推导来提取子列表,并使用add来连接列表部分......

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

答案 1 :(得分: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
]

或lambda版本:

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