首页 > 解决方案 > 将列表 (list[n:k]) 的内容与连续乘数相乘

问题描述

我正在尝试将 python 中的列表内部与list[n:k]带有一组乘数的操作数相乘。当我打印下面的代码时,我可以将列表418.98, 416.49, 452与像 2 这样的单个常量值相乘,这样它就会给我837.96, 832.98, 904.0,但是我希望乘数在每次到达列表中的下一个数字时增加 1。这会导致类似 418.98 * 1, 416.49 * 2, 452 * 3 = 418.98, 832.98, 1356

numbers_list = [418.98, 416.49, 452, 435, 435.9, 445.7, 465.99, 456.34, 458, 463.02]
number = 3  #takes in 3 consecutive numbers in the list for the calculation
contents = [x *2 for x in number_list[i:i + number]]

标签: pythonpython-3.xlist

解决方案


如果您只需要在乘法时增加乘数,那么这个片段可能会有所帮助,

numbers_list = [418.98, 416.49, 452, 435, 435.9, 445.7, 465.99, 456.34, 458, 463.02]
contents = [x * (i + 1) for i, x in enumerate(numbers_list)]

>>> contents
[418.98, 832.98, 1356, 1740, 2179.5, 2674.2, 3261.9300000000003, 3650.72, 4122, 4630.2]
>>>

或者初始化乘数,

numbers_list = [418.98, 416.49, 452, 435, 435.9, 445.7, 465.99, 456.34, 458, 463.02]
num = 3
contents = [x * (i + num) for i, x in enumerate(numbers_list)]

推荐阅读