我需要匹配两个列表,一个是字符列表,另一个是单词列表 我目前的代码是:
char_list=['G','UH','D','S', 'ER', 'M', 'AY', 'S', 'EH', 'L', 'F', 'B', 'AE', 'NG', 'K']
word_list=['GUHD','MAORNIHNG','SER','MAY','SEHLF','BAENGK']
for word_p in word_list:
scores = {}
p_s=""
if str(word_p) != "NULL":
print(word_p)
for j in char_list:
if len(word_p) == len(p_s):
print("word end")
for i in scores.keys():
char_list.remove(i)
break
else:
if j in word_p:
p_s=p_s+j
scores[j] = gop_scores.get(str(j))#this returns an integer value corresponding to char
sep_scores[str(word_p)] = scores
print(sep_scores)
电流输出为:-
*{'GUHD': {'G': 100.0, 'UH': 18.142809657631524, 'D': 61.62375099467158}, 'MAORNIHNG': {'M': 100.0, 'NG': 43.40719714138942}, 'SER': {'S': 100.0, 'ER': 100.0}, 'MAY': {'M': 100.0, 'AY': 100.0}, 'SEHLF': {'S': 100.0, 'EH': 89.72295878282416, 'L': 100.0, 'F': 0.0}, 'BAENGK': {'B': 7.166608749080874, 'AE': 68.10287800038276, 'NG': 43.40719714138942, 'K': 100.0}}}*
注意
一切似乎都很好,但是没有精确匹配的MAORNIHNG字符,我仍然得到{M',NG'},我希望MAORNIHNG值为空
预期产出
*{'GUHD': {'G': 100.0, 'UH': 18.142809657631524, 'D': 61.62375099467158}, 'MAORNIHNG': {}, 'SER': {'S': 100.0, 'ER': 100.0}, 'MAY': {'M': 100.0, 'AY': 100.0}, 'SEHLF': {'S': 100.0, 'EH': 89.72295878282416, 'L': 100.0, 'F': 0.0}, 'BAENGK': {'B': 7.166608749080874, 'AE': 68.10287800038276, 'NG': 43.40719714138942, 'K': 100.0}}}*
“MAORNIHNG”值应为空dict
您只需确保字典键构成整个单词,如果不返回空的dict,您可以通过连接它们并比较:
相关问题 更多 >
编程相关推荐