以下是我当前的代码:
class city1:
dict = {"north":"city2", "east": 0, "south": 0, "west": "city3"}
validcmds = ['north', 'east', 'south', 'west']
input=raw_input(">>")
input=set(input.split())
validcmds=set(validcmds)
output = list(validcmds.intersection(input))
print city1.dict(output)
我不知道这条线怎么了:
^{pr2}$基本上,我只想在city1类的dict中查找输出。它是为我的基于文本的RPG:)
首先,不要使用
dict
这个词。当您这样做时,您将屏蔽内置的dict()
方法。接下来,您可以使用d.get(key)
方法从字典中检索元素。在您可能需要检查您的代码,因为我不相信它在当前状态下工作,即使您从字典中检索了元素。在
输出是键的列表。你不能用一系列的键同时给你的dict加上键。您应该:
print [city1.dict[x] for x in output]
顺便说一下,
input
是一个方法,通过分配给输入,您删除了该命令。。(这里不重要,但你可能想知道)你不用圆括号来查字典。请改用
print city1.dict[output]
。但是,看起来你是在用字典键创建一个列表,Python会抱怨如果你试图在这样的列表上建立索引,这是不可散列的。在如果
output
中有多个键,请尝试以下操作:以数据结构的类型命名也是一种不好的做法。我会考虑将
dict
重新命名为其他东西,例如city_dict
或更具描述性的东西。在相关问题 更多 >
编程相关推荐