我有一个清单,例如:
[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
这是我已经写的,但不起作用。
问题出在这一行:
numbers[n]=numbers[(z * n)]
您想将numbers[n]更改为索引n处的数字n×n
所以替代方案可能是
for n in range(len(numbers)):
numbers[n] = numbers[n] * n
这(也许)更Pythonic,但也有点神秘的“一行字”:
[x*i for x,i in zip( numbers, range(len(numbers)) )]