如何对列表中的其他数字进行数学运算?

2022-10-02 02:40:33 发布

您现在位置:Python中文网/ 问答频道 /正文

例:我该如何改变

a = [1,2,3,4]

对此:

a = [2,2,6,4]

所以其他元素都加倍了?你知道吗


Tags: 元素
3条回答
网友
1楼 ·

还有另一种方法,一次采取两个步骤,更直观一点,像这样

for i in range(len(yourList)/2):
    yourList[2*i] = 2*yourList[2*i]
网友
2楼 ·

您可以循环浏览其他索引:

for index in range(0, len(your_list), 2):
    your_list[index] *= 2

您也可以使用切片分配来完成,如@mgilson所述:

your_list[::2] = [x*2 for x in your_list[::2]]

虽然这当然更简洁,但对于阅读代码的普通人来说,这也可能更让人困惑——将非默认跳过因子指定给一个片段并不是很直观。你知道吗

网友
3楼 ·

如果要就地执行,可以使用切片指定:

>>> a[::2] = [x*2 for x in a[::2]]
>>> a
[2, 2, 6, 4]