我有一个a_sym
长度符号向量和一个长度N_sym
字符串向量a_str
N_str
a_sym
在每个索引处包含符号,例如:H₅B₂O₆⁻
a_str
在每个索引处包含字符串,例如H₅B₂O₆⁻
我想检查每个向量的等价性a_sym
并a_str
查看等价性出现在哪个索引中。
我试图实现一个循环来检查这两个向量:
E = zeros(Int64,N_sym)
for i in 1:N_str
for ii in 1:N_sym
if a_sym[ii] == a_str[i]
E[ii] = i
end
end
end
我在哪里E
尝试映射等效索引,但我的循环从未检测到字符串是等效的。如何补救?(也许简化了?)
例如:
a_sym = [:H₃BO₃ ,:H₄BO₄⁻ ,:Li⁺ ,:H₅B₂O₆⁻, :H₄B₃O₇⁻]
其中 N_sym 为 5,并且:
a_str = ["O⁻","H₃BO₃","H₄BO₄⁻","H₅B₂O₆⁻","H₄B₃O₇⁻","H₃B₃O₆"]
其中 N_str 为 6。当存在等价时,我需要循环检查两个向量并映射索引,例如,a_sym 中 H₃BO₃ 的索引为 1,a_str 中的索引为 2。
我期望一个向量E = [2, 3, 0, 4, 5]
填充了 a_str 的索引,如果 a_str 不包含 a_sym 的匹配项,则为 0