我想比较两个技能列表,以提供一个列表在另一个列表中出现的百分比分数:
user_skills = [
%{name: "Elixir"},
%{name: "Python"}
]
project_skills = [
%{name: "Elixir"},
%{name: "Erlang"},
%{name: "Ruby"}
]
user_skills
中有多少百分比的project_skills
?我们想要的是50%
的结果。
答案 0 :(得分:5)
您可以非常简单,并首先使用Kernel.--/2计算差异:
iex(5)> user_skills -- project_skills
# [%{name: "Python"}]
然后,您可以使用原始列表user_skills
的长度和上述操作的长度来获得如下图所示的百分比:
iex(6)> 1 - (length(user_skills -- project_skills) / length(user_skills))
0.5
如果您想进行更复杂的比较和比较,请同时查看myers_difference。