J'essaie de convertir A python Script en Julia. Je vérifie que je vérifie que je fais ce code de la manière la plus optimale. Voir le code suivant:
Julia> a = [1,2,3,4,5]
5-element Array{Int64,1}:
1
2
3
4
5
Julia> if 1 in a
print("1 is in a")
end
1 is in a
Julia> if 6 not in a
print("6 not in a")
end
ERROR: TypeError: non-boolean (Int64) used in boolean context
Stacktrace:
[1] top-level scope at REPL[6]:1
Julia> Push!(a, 6)
6-element Array{Int64,1}:
1
2
3
4
5
6
Julia> if (6 in a) == true
print("6 in a")
end
6 not in a
Julia> b = [1]
1-element Array{Int64,1}:
1
Julia> if (6 in b) == true
print("6 in b")
end
Est-ce que je fais cela "pas dans" vérifier correctement?
Julia> a = [1,2,3,4,5];
Julia> 6 ∉ a
true
Le symbole ∉
Peut être saisi dans REPL en tapant \notin
, Puis frappez l'onglet. Bien sûr, le symbole ∈
Est également disponible. comme une alternative à in
en tapant \in
et tabulation de frappe:
Julia> 6 ∈ a
false
Parfois, vous avez besoin d'une version vectorisée:
Julia> x = [2, 7];
Julia> x .∉ Ref(a)
2-element BitArray{1}:
0
1
Le Ref
est nécessaire dans ce cas de sorte que a
est traité comme un scalaire dans l'opération de radiodiffusion.
Edit :
Comme indiqué par @salchipapa et @DNF dans les commentaires, vous pouvez faire !(6 in a)
Si vous préférez éviter les caractères Unicode.