如何解决匹配多个键的打印值
我有多个键映射到一个值。如果有任何键匹配,则打印相应的值。这只是我要执行的要旨,而不是实际的代码。
responses = {
("hi","Yo"):"Lets get started."
}
def get_response(user_message):
if user_message in responses:
user_message = responses[user_message]
print(user_message)
get_response("hi") #should print 'Lets get started'
get_response("Yo") #should print 'Lets get started'
这也是将多个键存储为单个值的正确方法。
解决方法
要完成您要执行的操作,您必须检查“ hi”是否为in
元组。 (("hi","Yo")
是一个元组)。
因此您可以执行以下操作:
for key in responses:
if user_message in key:
print(responses[key])
,
您需要修改get_response
方法。
responses = {
("hi","Yo"): ["Lets get started."]
}
def get_response(user_message):
print([values for keys,values in responses.items() if user_message in keys][0][0])
get_response("hi") # should print 'Lets get started'
get_response("Yo") # should print 'Lets get started'
输出:
Lets get started.
Lets get started.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。