试图使这项工作使我旋转:我有一个命令:OrderedDict([('key', {'keyword': {'blue', 'yellow'}), ('key1', {'keyword': {'lock', 'door'})])我有一个列表potential_matches:[red, blue, one]我想将这些潜在的匹配项排序为两个列表之一:correct = []或incorrect = []如果潜在匹配项是 dict 中某个键的关键字,则它进入correct,否则进入incorrect。这个例子的结果应该是:correct = [blue],incorrect = [red, one]这是我尝试过的:correct = [] incorrect = [] for word in potential_matches: for key, value in ordered_dict.items(): if word in value["keyword"] and word not in correct: correct.append(word) elif word not in value["keyword"] and word not in correct and word not in incorrect: incorrect.append(word) 列表不能有重叠,并且必须有唯一的项目,这就是为什么elif.它很接近,但最终发生的是不正确的列表仍然包含来自正确列表的项目。我如何才能尽可能有效地解决这个问题?我让它听起来有点复杂,但基本上,所有不匹配的剩余单词都应该直接转到另一个列表。potential_match不过,我认为这需要完整运行列表和字典。
添加回答
举报
0/150
提交
取消