Допустим, у меня есть возрастающая последовательность целых чисел: seq = [1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 4 ...] не гарантированно иметь одинаковое число каждое целое число, но гарантированно увеличивается на 1.
Есть ли функция F, которая может работать с этой последовательностью, при которой F (seq, x) выдаст мне все 1, когда целое число в последовательности равно x, а все остальные целые числа будут равны 0.
Например:
t = [1, 1, 1, 1, 2, 2, 3, 3, 3, 4]
F (t, 2) = [0, 0, 0, 0, 1, 1, 0, 0, 0, 0]
РЕДАКТИРОВАТЬ: Я, вероятно, должен был сделать это более ясным. Есть ли решение, в котором я могу выполнить некоторые алгебраические операции над всем массивом, чтобы получить желаемый результат, не повторяя его?
Итак, мне интересно, могу ли я сделать что-то вроде: F (t, x) = t op x?
В Python (t это numpy.array) это может быть:
(т * -1)% х или что-то ...
EDIT2: я обнаружил, что тождественная функция I (t [i] == x) приемлема для использования в качестве алгебраической операции. Извините, я не знал о функциях идентификации.