是否可以在不循环遍历列表的情况下将一个数组元素范围的值增加一个常数?

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

python中是否有任何模块或库可以帮助我解决这个问题?我的意思是这样做的复杂度为O(1)。

python loops libraries
2个回答
0
投票

您可以使用numpy执行此操作

>>> import numpy as np
>>> data = np.arange(10)
>>> data
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> data[2:6] += 5
>>> data
array([ 0,  1,  7,  8,  9, 10,  6,  7,  8,  9])

0
投票

您可以在不使用numpy中使用Broadcasting遍历列表的情况下,将常量数组元素的值增加一个常数。

https://docs.scipy.org/doc/numpy/user/basics.broadcasting.html

但是我认为您不能在O(1)中执行此操作,这可能是NP难题。

© www.soinside.com 2019 - 2024. All rights reserved.