繁体   English   中英

根据字典中的键检查列表

[英]Checking a list against keys in a dictionary

这里对 python 非常陌生,这个问题似乎与这里提出的其他一些问题相似,但在其他方面有所不同。

我想检查我创建的列表中的字符串是否出现在我创建的字典的键值中。 我想使用 for 循环为匹配字典和列表的值打印一条消息,并为列表中但不在字典中的值打印另一条消息。

例如

class_mates = ['Peter','Susan','Jen','Jeff','Niel','Sharon','Adam']

respondents = {
'jeff':'python'
'susan':'ruby'
'niel':'c'
'peter':'python'
}
  1. 我故意让受访者小写,因为理想情况下,答案中包含使用函数的某种方式,可能是lower(),使值不区分大小写。

  2. 我想使用 for 循环,但我愿意学习更好的方法。 理想情况下,我的输出是这样的,

Thanks for taking the poll Peter.
Thanks for taking the poll Susan.
Hello, Jen. Please take our programming language poll.
Thanks for taking the poll Jeff.
etc.

我试过了

for name, language in respondents.items():
    if name.lower() in respondents.keys() == name.lower() in class_mates:
      print("\nThanks for taking the poll",name.title())
    else:
        print("Hello,",name.title()+". Please take our programming language poll."

每当我运行它时,它只会为受访者中的每个匹配打印 else 语句。 如果有人能启发我了解我做错了什么,并指出我正确的方向,我将不胜感激。 感谢您的任何帮助!

我想到了。 我试图迭代错误的可迭代对象,并尝试检查 class_mates 中是否有小写名称,它总是会返回 false。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM