#julia
#джулия
Вопрос:
У меня есть код, в котором я использую функцию find внутри цикла, что, как я полагаю, снижает эффективность. Я стремлюсь повысить скорость кода и пытаюсь заменить каждую часть более быстрой версией. В моем коде мне нужно проверить, содержит ли переменная A (которая принимает разные значения на каждой итерации) элементы, равные 2.
C = in.(A, 2)
N = findall(x->x==0, C)
B = findall(x->x!=0, C)
TF = isempty(B)
Комментарии:
1. Вы, вероятно, добьетесь большего успеха, разместив больше кода. Оптимизация обычно заключается не только в ускорении одной медленной строки.
2. возможно, вам следует выполнить поиск по отсортированному списку (searchsorted) или набору. Необходим упрощенный MWE.
3. Вы пытаетесь выяснить,
A
содержит ли значение 2? В таком случае, это простоTF = 2 in A