如何解决根据字典中的键检查列表
这里是python的新手,这个问题似乎与这里提出的其他问题类似,但是在其他方面有所不同。
我想检查我创建的列表中的字符串是否出现在我创建的字典的键值中。我想使用一个for循环为与字典和列表匹配的值打印一条消息,为在列表中但不在字典中的值打印另一条消息。
例如
class_mates = ['Peter','Susan','Jen','Jeff','Niel','Sharon','Adam']
respondents = {
'jeff':'python'
'susan':'ruby'
'niel':'c'
'peter':'python'
}
-
我故意让受访者使用小写字母,因为理想情况下,答案中应该包括使用函数(可能是lower())使值不区分大小写的某种方式。
-
我想使用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。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。