我已经进行了一些搜索,但实际上我不确定如何表达我想要发生的事情,所以我开始了一个问题。我确定它以前被覆盖过,所以我很抱歉。
下面的代码不起作用,但希望它说明了我正在尝试做的事情。
sieve[i*2::i] *= ((i-1) / i):
我想获取一个列表并遍历列表中“i”的倍数的每个项目,并通过乘以相同的数量来更改其值。
例如,如果我有一个清单
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
我想从 2 开始并单独更改列表中的每个第二项 * (2 - 1 ) / 2。所以之后看起来像
[1, 2, 3, 2, 5, 3, 7, 4, 9, 5]
我该如何以python方式做到这一点?
非常感谢!
编辑添加:
抱歉,我看到我的措辞不佳导致了一些混乱(我在上面更改了它)。
我不想更改每个 2 的倍数,我想更改列表中的每个第二项,即使它不是 2 的倍数。所以我不能使用 x % 2 == 0。对不起!