2024-03-28 16:21:37 发布
网友
我有一个列表如下:
l=[0.1,0.5,2.1,3.3]
我想把这些数字中的每一个乘以连续的自然数,形成一个列表这是给你的实例
newlist=[1*0.1,2*0.5,3*2.1,4*3.3]
我有以下代码:
l=[0.1,0.5,2.1,3.3] s = np.arange(1,len(l)+1) np.multiply(l,s)
只是想知道是否有一个方法,内置的或其他的,我不必定义s
T型 非常感谢。你知道吗
可以使用^{}、^{}和^{}:
import operator import itertools l=[0.1,0.5,2.1,3.3] res = list(map(operator.mul, l, itertools.count(1)))
这里有一个live example
也许最“原生”的方法是确保l是numpy数组,然后:
l
import numpy as np l = np.array([0.1, 0.5, 2.1, 3.3]) print(l * range(1, len(l) + 1)) # array([ 0.1, 1. , 6.3, 13.2])
我认为简单的python列表理解可以有效地解决您的问题。你知道吗
>>> l=[0.1,0.5,2.1,3.3] >>> l [0.1, 0.5, 2.1, 3.3] >>> ll = [item * val for item, val in zip(l, range(1, len(l) + 1))] >>> ll [0.1, 1.0, 6.300000000000001, 13.2]
可以使用^{} 、^{} 和^{} :
这里有一个live example
也许最“原生”的方法是确保
l
是numpy数组,然后:我认为简单的python列表理解可以有效地解决您的问题。你知道吗
相关问题 更多 >
编程相关推荐