Я хочу добавить значение ко всем элементам одномерного массива после определенного индекса.
Например, мой оригинальный массив выглядит так:
[0, 1, 2, 3, 4, 5, 6]
и я хочу добавить 1 ко всем элементам после индекса 2, чтобы получить следующий массив результатов:
[0, 1, 2, 4, 5, 6, 7]
Каков наиболее эффективный способ сделать это с точки зрения производительности и использования «идиоматического» Python / NumPy (т.е. без использования цикла)? Кажется, что понимание списка не лучший подход, так как я имею дело с массивами NumPy - я предполагаю, что есть разумный способ индексировать массив для этого, который также может быть более производительным.
Вот что я приготовил, используя понимание списка:
ary = np.array([0, 1, 2, 3, 4, 5, 6])
ix = 3
ary[ix:] = [x + 1 for x in ary[ix:]]
Есть ли лучший способ сделать это, или это достаточно хорошо?