Python列表,将所有子列表上的元素位置除以一个数字
在python中,如何获取列表列表并对每个子列表的第三个元素应用除法 子列表如下所示Python列表,将所有子列表上的元素位置除以一个数字,python,list,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使用列表理解提取子列表,并使用加法连接列表部分
[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使用列表理解提取子列表,并使用加法连接列表部分
lambda L:[L[:2]+[L[2]/100]+L[3:]对于L中的L]
您可以尝试以下方法:
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)
对于列表中的子列表:子列表[2]/=100
[[e/100如果i==2其他e表示枚举(sub)中的i,e)]对于某些列表中的sub