Python 2.7 将列表中的某些元素与and常量相乘,将其他元素与另一个常量相乘

Python 2.7 将列表中的某些元素与and常量相乘,将其他元素与另一个常量相乘,python-2.7,lambda,Python 2.7,Lambda,我需要将列表的前3个元素乘以一个常数(比如0.3),其余元素乘以另一个常数(比如0.7) 输入: 未指定长度的列表 experience_yrs =[2.328767123287671, 2.16986301369863, 0.4931506849315068, 0.7506849315068493, 0.5780821917808219, 1.5808219178082192] 输出: 元素的转换列表,是原始元素和常量的乘积 [0.6986301369863014, 0.6509589041

我需要将列表的前3个元素乘以一个常数(比如0.3),其余元素乘以另一个常数(比如0.7)

输入: 未指定长度的列表

experience_yrs =[2.328767123287671, 2.16986301369863, 0.4931506849315068, 0.7506849315068493, 0.5780821917808219, 1.5808219178082192]
输出: 元素的转换列表,是原始元素和常量的乘积

[0.6986301369863014, 0.650958904109589, 0.14794520547945203, 0.5254794520547945, 0.4046575342465753, 1.1065753424657534]
我用lambda表达式试过了

map(lambda x: x*0.3, experience_yrs[0:3]) + map(lambda x: x*0.7, experience_yrs[3:])

有没有更好的方法来实现这一点?

这里有另一种方法,使用列表理解:

[ x*0.3 if i<3 else x*0.7   for i,x in enumerate(experience_yrs)  ]

[x*0.3如果我现在
x*1
将值从
2.328767123287671
更改为
0.6986301369863014