所以,假设我有一个int列表:
arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]现在假设我希望将10添加到从索引5到索引10 (包括在内)的元素,以便在操作之后arr变成:
arr = [0, 1, 2, 3, 4, 15, 16, 17, 18, 19, 20, 11, 12, 13]在python中不使用numpy的快速(或相当快)方法是什么?我正在寻找可能的非循环解决方案,更确切地说,在矢量化的精神。
发布于 2017-05-01 01:11:58
直截了当的方法很好:
>>> arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
>>> for i in range(5, 10 + 1):
... arr[i] += 10
...
>>> arr
[0, 1, 2, 3, 4, 15, 16, 17, 18, 19, 20, 11, 12, 13]
>>>发布于 2017-05-01 01:12:00
您可以使用一个简单的for循环来实现这一点:
arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
for i in range(5, 11):
arr[i] += 10
print arr
#outputs: [0, 1, 2, 3, 4, 15, 16, 17, 18, 19, 20, 11, 12, 13]https://stackoverflow.com/questions/43712999
复制相似问题