为了账号安全,请及时绑定邮箱和手机立即绑定

如何在嵌套的for循环中检查字典和列表中项目的成员资格?

如何在嵌套的for循环中检查字典和列表中项目的成员资格?

慕森卡 2021-05-30 17:11:52
试图使这项工作使我旋转:我有一个命令: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不过,我认为这需要完整运行列表和字典。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 116 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信