我正在创建一个智能聊天服务器。但是,这部分信息无关紧要。我想要做的就是拨打字典中的指示 - 我会告诉你:
dictionary = ["command1": "print("I just called command1!")]
dictionary["command1"]
有点像那样。显然你不能这样做。我希望能够有一个不同命令的字典,当你使用字典[whatever_command you want_in_here]时会运行
你明白我的意思吗?
我可以使用函数,但显然会占用大量空间和大量代码,当我的Chatbot中有如此多的响应时,我无法负担这些代码。
我真的需要知道如何以简单的方式做到这一点。
PLS。 :)
答案 0 :(得分:3)
将说明存储为匿名函数:
dictionary = {
"command1": lambda: print("I just called command1!"),
"command2": lambda: print("I just called command2!")
}
command = input('Enter command: ')
dictionary[command]()
答案 1 :(得分:2)
如果您只是想要打印字符串,那么做以下事情会更好:
dictionary = {"command1": "I just called command1!"}
print(dictionary["command1"])
但是如果你需要解析实际的功能,你可以像@Uriel Eli在另一个答案中所说的那样使用lambda。
mylist = []
dictionary = {"command1": lambda: print("I just called command1"), "command2": lambda: mylist.append("Here's an appended string!")}
dictionary["command1"]()
dictionary["command2"]()