将列表元素与自然数相乘

时间:2018-06-29 10:52:49

标签: python python-3.x list numpy

我有一个看起来像这样的列表:

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 谢谢。

4 个答案:

答案 0 :(得分:0)

您可以使用mapitertools.countoperator.mul

object->member

您在这里有一个live example

答案 1 :(得分:0)

我认为简单的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]

答案 2 :(得分:0)

也许最“自然”的方法是通过确保$(".tree-loader").show(); $.ajax({ type : "GET", url : "toolsList.htm", success : function(item) { jsd = JSON.parse(item); $("#treeA").remove(); $(".tools-workspace-div").append("<div id='treeA'></div>"); drawTree(jsd.data); $("#externaldrop").val(JSON.stringify(jsd.data)); treeFunctionalities(jsd.data); $("#filter").val(''); $(".tree-loader").hide(); // $(".tree-loader").modal("hide"); $("#treeA").on('contextmenu', function (e) { return false; }); }, error : function(){ alert("Error in getting tools list"); $(".tree-loader").hide(); // $(".tree-loader").modal("hide"); } }); .tree-loader { position: fixed; left: 0px; right: 90%; top: 100px; bottom: 0px; /* width: 100%; height: 100%; */ z-index: 9999; opacity: 0.5; background: url('resources/images/Preloader_5.gif') 50% 40% no-repeat; /* background: url('resources/images/spinner1.gif') 50% 40% no-repeat; */ } 是一个numpy数组,然后:

l

答案 3 :(得分:-1)

可能有很多方法可以做到这一点:

[a*b for a,b in zip(l,range(1,1+len(l)))]