Это просто индексированное задание.Обратите внимание, какие элементы arr
изменяются:
In [374]: mask = np.zeros(6, dtype=bool)
In [375]: mask
Out[375]: array([False, False, False, False, False, False])
In [376]: mask[[1,3,4]] = True
In [377]: mask
Out[377]: array([False, True, False, True, True, False])
То же действие, но с целочисленным массивом dtype:
In [378]: arr = np.zeros(6, dtype=int)
In [379]: arr
Out[379]: array([0, 0, 0, 0, 0, 0])
In [380]: arr[[1,3,4]] = 1
In [381]: arr
Out[381]: array([0, 1, 0, 1, 1, 0])
Аналогичное назначение списка:
In [382]: alist = [1,2,3,4]
In [383]: alist[2] = 200
In [384]: alist
Out[384]: [1, 2, 200, 4]