Python 从内容中查找词典
我试图创建一些东西来证明左手放在墙上穿过迷宫的概念是有效的,因此我制作了一个python 3.6 turtle程序来实现这一点。我知道,这是非常低效的,我是一个初学者,但我的问题是; 一个人如何从字典的内容中找到它的名字 下面是一个例子:Python 从内容中查找词典,python,dictionary,grid,maze,Python,Dictionary,Grid,Maze,我试图创建一些东西来证明左手放在墙上穿过迷宫的概念是有效的,因此我制作了一个python 3.6 turtle程序来实现这一点。我知道,这是非常低效的,我是一个初学者,但我的问题是; 一个人如何从字典的内容中找到它的名字 下面是一个例子: place1 = {"coordinates" : (150, 150), "filled_in": False} place2 = {"coordinates" : (100, 100), "filled_in": True} place3 = {"coor
place1 = {"coordinates" : (150, 150), "filled_in": False}
place2 = {"coordinates" : (100, 100), "filled_in": True}
place3 = {"coordinates" : (50, 50), "filled_in": True}
turtle position = 50, 50
本质上是这样的
?[“坐标”:(50,50),“填充”=True
我希望能够从字典中的值中找到字典,这样我就可以检查它是否已填写
if (dictionary containing value of "coordinates" : (50, 50))["filled_in"] = False:
do whatever
我知道我可能把所有内容的格式都弄错了,但提前谢谢你的帮助。你可以把它们都放在一个字典里,可以按坐标索引:
place1 = {"coordinates" : (150, 150), "filled_in": False}
place2 = {"coordinates" : (100, 100), "filled_in": True}
place3 = {"coordinates" : (50, 50), "filled_in": True}
places = {p["coordinates"]: p for p in [place1, place2, place3]}
然后将其索引:
>>> places[(50, 50)]['filled_in']
True
>>> places[(150, 150)]['filled_in']
False
只需检查字典的
“坐标”
键:
for d in (place1, place2, place3):
if d['coordinates'] == (50, 50):
do_something()
我将详细说明@MSeifert的答案。假设您有64个变量,如下所示:
place1, place2, ..., place64
只要替换这个:
places = {p["coordinates"]: p for p in [place1, place2, place3]}
与:
例如,考虑从单独文件中加载坐标。
确实有帮助。现在我面临的问题是有64个字典。正如我所说,格式不好。代替<代码> EVA/COD> >使用<代码>位置= [Loals[]([Nosi] ]用于PosieSistList]中的名称这也是有效的,而且它不那么“邪恶”。但是,这也不是一个好的做法——当有很多口述时,我会选择一种完全不同的方法places_list = ["place{}".format(num) for num in range(1, 65)]
places64 = eval(str(places_list))
places = {p["coordinates"]: p for p in places64}