Я пытаюсь обрезать значения в массивах.Я нашел функцию np.clip()
, и она сделала то, что мне нужно.Однако то, как он изменяет значения массивов в списке массивов, сбивает меня с толку.Вот код:
import numpy as np
a = np.arange(5)
b = np.arange(5)
for x in [a,b]:
np.clip(x, 1, 3, out=x)
результат
>>> a
array([1, 1, 2, 3, 3])
>>> b
array([1, 1, 2, 3, 3])
Значения a
и b
были изменены без назначения, в то время как функция np.clip()
работает только с x
.
С некоторыми вопросами связано, но они используют индекс списка, например Изменение элементов списка в цикле for , Изменение внутри итерационной переменной цикла внутри цикла в Python .
Может кто-нибудь объяснить мне, как функция np.clip()
может напрямую изменять значение значений списка.