如何将列表中的每个数字乘以其列表索引?

问题描述 投票:0回答:2

我有一个清单,例如:

[3, 4, 5, 6]

我想将它们中的每一个乘以它的列表索引:

[3*0, 4*1, 5*2, 6*3]

我是 python 中的 bigener,我想用 for 循环来解决这个问题,而不使用任何内置函数。如果您帮助我,这将非常有帮助,谢谢。

n=0

for z in range (0, len(numbers)):

    numbers[n]=numbers[(z * n)]

    n+=1

这是我已经写的,但不起作用。

list python-3.x for-loop
2个回答
6
投票

问题出在这一行:

 numbers[n]=numbers[(z * n)]

您想将numbers[n]更改为索引n处的数字n×n

所以替代方案可能是

for n in range(len(numbers)):
    numbers[n] = numbers[n] * n

0
投票

这(也许)更Pythonic,但也有点神秘的“一行字”:

[x*i for x,i in zip( numbers, range(len(numbers)) )]
© www.soinside.com 2019 - 2024. All rights reserved.