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