Python 2.7 将列表中的某些元素与and常量相乘,将其他元素与另一个常量相乘
我需要将列表的前3个元素乘以一个常数(比如0.3),其余元素乘以另一个常数(比如0.7) 输入: 未指定长度的列表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
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
?